[백준/Java] 1261 - 알고스팟
·
코딩테스트/백준
https://www.acmicpc.net/problem/1261문제풀이가중치가 0 또는 1인 그래프에서 시작점부터 도착점까지의 최단 경로(최소 가중치 합)을 구하는 문제이다가중치가 있는 그래프의 최단 경로는 보통 다익스트라 알고리즘을 사용한다하지만 이 문제처럼 가중치가 0과 1로만 이루어져 있으면 더 간단한 `0-1 BFS 기법`을 사용할 수 있다 0-1 BFS일반 큐 대신 덱(Deque)을 사용한다가중치가 0인 간선으로 탐색할 때는 다음 정점을 덱의 앞에 넣는다가중치가 1인 간선으로 탐색할 때는 다음 정점을 덱의 뒤에 넣는다이렇게 하면 항상 가중치가 0인 경로를 먼저 처리할 수 있다벽을 부수지 않고 갈 수 있는 모든 곳을 먼저 가고 다음에 벽을 부수는 경로를 탐색한다 자세한 것은 코드를 보자코드imp..