[프로그래머스][level2][C++][BFS] 찾아라 프로그래밍 마에스터 - 게임 맵 최단거리 - 컴도리돌이
코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr N * M 행렬에서 최단 거리를 보장해주는 탐색 알고리즘인 BFS를 사용하였다. 단순히 N*M의 범위를 넘지 않고 벽이 아닌 곧이 있을 경우 해당 값을 큐에 삽입 후 좌표의 값을 1 증가시켰다. 최종적으로 반환 값은 N*M 좌표의 값을 반환시켰다. 하지만 해당 값이 1인 경우 모든 벽에 둘러 쌓여서 탐색을 하지 못한 경우이기에 -1 값을 반환하도록 설정하였다. #include #include using na..
더보기
[프로그래머스][위클리 챌린지-5주차] [DFS] 5주차_모음사전 - 컴도리돌이
코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 나올 수 있는 경우의 수가 10000 이하이기 때문에 DFS로 충분히 시간복잡도 생각하지 않고 풀 수 있다. alpha 라는 모음 값이 저장되어 있는 배열을 만들어서 나올 수 있는 모든 경우의 수를 map 함수를 이용해서 저장한다. 단순 구현 문제. #include #include #include using namespace std; int count =1; vector alpha = {"A","E","I",..
더보기