프로그래머스 C++
프로그래머스 리코쳇 로봇
Srff5123
2025. 3. 18. 19:07
728x90
리코챗 로봇이라는 보드게임이 있다.
보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로
시작 위치에서 출발한 뒤 목표 위치에 정확하게 멈추기 위해 최소 몇 번의 이동이 필요한지 말하는 게임이다.
이 게임에서 말의 이동은 현재 위치에서 상,하,좌,우 한 방향으로
장애물이나 게임판 가장자리에 도착할 때까지 한 방향으로 직진한다.
. 은 빈공간을, R은 로봇의 처음 위치를, D는 장애물의 위치, G는 목표지점을 나타낸다.
우선 맵을 전체 탐색하며 시작지점을 찾아주는 코드로 시작하고
방향을 담은 배열을 미리 선언해준다.
BFS를 이용한 최적의 경로를 찾는 문제로
방향을 정하고 장애물이나 가장자리가 나올때까지 쭉 직진을 하며, 이동해주며 목표지점을 찾아준다.
728x90