Algorithm
프로그래머스 - 게임 맵 최단거리 [C++]
전~형적인 BFS 문제. 플레이어는 맨 왼쪽 첫 위치에서 시작하여 목표지점까지 최단거리로 가야 한다. 이것을 그러면 코드로 어떻게 판단할 것이냐? 먼저 필요한 것은 다음과 같다: 1. 좌표를 담을 큐(Queue) 2. n x m 크기를 가지는 dist배열(어차피 최대값이 100이니까 101 * 101로 만들면 됨) 3. dist를 0으로 모두 초기화. 4. Queue.push({0, 0}) 5. dist[0][0] = 1; 필요한 것들을 선언했다면, 일단 처음시작점에서 Queue에 해당 좌표를 담고, 상, 하, 좌, 우를 살피면서 뚫려있는 지점(맵에서 1이라는 숫자가 들어있는 칸)이 있다면 dist 배열에서 현재 위치에 들어있는 값 + 1을 해당 칸에 넣어준다. 그래놓고 while(!Q.empty())문..
2021. 6. 5. 16:03
최근댓글