공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍/코딩테스트 문제풀이

[Python] 백준 1261. 알고스팟

inspirit941 2019. 11. 30. 18:38
반응형

https://www.acmicpc.net/problem/1261

 

1261번: 알고스팟

첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미한다. (1, 1)과 (N, M)은 항상 뚫려있다.

www.acmicpc.net

 

BFS를 사용하지만, BFS에서 사용하는 queue를 heap 자료구조로 활용해야 하는 독특한 문제.

heap을 사용하는 이유는 '벽을 가장 적게 부수고 이동하는 경우'가 항상 우선순위에 위치한 채 BFS로 순회해야 하기 때문.

 

이 개념을 생각 못해서 문제를 푸는 데 정말 오래 걸렸다.

 

반응형