[백준/Java] 2206 - 벽 부수고 이동하기
·
코딩테스트/백준
https://www.acmicpc.net/problem/2206문제풀이문제를 보면 최단 거리를 구해야 하기 때문에 BFS를 활용해서 풀어야 한다하지만 벽을 부수고 이동할 수 있기 때문에 일반적인 BFS로는 풀 수 없다따라서 벽을 부쉈는지 판단할 수 있는 상태를 하나 두어야 한다 일반적인 BFS와 같이 방문 배열을 선언하는데 3중 배열로 선언하는 것이다`visited[x좌표][y좌표][벽을 부쉈는지 여부]`벽을 부쉈는지 여부가 `0`이라면 벽을 부수지 않고 이동한 상태이고, `1`이라면 벽을 부수고 이동한 상태이다 사방 탐색을 진행하면서 벽이 없는 곳을 지나갈 때는 방문 여부만 확인하고 방문하지 않았다면 이동 거리를 갱신하지만벽이 있는 곳을 지나갈 때는 현재 벽을 부쉈는지 확인하고 벽을 한번도 안 부쉈을..