문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/169199
우선순위 큐를 이용한 BFS 문제였습니다.
알고리즘은 아래와 같습니다.
1. 이동한 횟수가 적을수록 우선순위가 큰 우선순위 큐에 로봇의 시작점 좌표와 이동한 횟수인 0을 넣어줍니다.
2. 우선순위 큐가 빌 때까지 혹은 목표점에 도달할 때까지 상하좌우 방향으로 부딪힐 때까지 이동시키며 시뮬레이션을 돌립니다.
2.1 목표점에 도달했다면 이동한 횟수를 반환합니다.
3. 2번 과정에서 프로그램이 종료되지 않을 경우 목표점에 도달할 수 없음을 의미하므로 -1을 반환합니다.
개발환경: Programmers IDE
지적, 조언, 질문 환영합니다! 질문 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 요격 시스템 (0) | 2023.08.11 |
---|---|
[Programmers] 광물 캐기 (0) | 2023.08.07 |
[Programmers] 정수를 나선형으로 배치하기 (0) | 2023.06.28 |
[Programmers] 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2023.06.28 |
[Programmers] 5월 식품들의 총매출 조회하기 (0) | 2023.06.26 |