BFS 알고리즘 문제 : 탈출(백준)


정답률 25%의 살짝 난이도가 있는 문제입니다.

처음 문제를 읽고 정답률에 비해 쉬울 것 같다는 생각이 들기도 했습니다.


어딘가 함정이 있겠지 생각하고 조심스레 풀어보았는데

BFS 알고리즘 문제를 상당히 오랜만에 풀어보아서인지

기본적인 개념에서 문제가 생겨 상당히 고전했습니다.


문제 자체를 그리 어려운 문제가 아닌 듯 합니다.

필자는 고슴도치와 물을 두 개의 큐로 따로 담는 방법으로 풀어보았습니다.


BFS 알고리즘 문제 : 탈출(백준)


01. 변수 선언


02. 인큐, 디큐


03. 초기화


04. 체크 함수


고슴도치든 물이든 바위는 피하고 이미 지나온 포인트는 다시 가지 않으며

배열의 범위를 벗어나지 않아야 한다는 공통점을 가지고 있습니다.


체크된 곳은 물, 바위, 이미 지나온 곳이라는 것을 의미하기도 합니다.


05. BFS


문제를 풀다가 이 부분에서 실수를 하여 상당히 고전했습니다.

실수 내용은 현재 water 큐에 있는 모든 물들을 상하좌우 이동시킨 뒤

Player 큐로 넘어갔어야 했는데, water 큐에 있는 단 하나의 물에 대해

이동처리를 한 뒤 Player 큐로 넘어가버린 것입니다.

한 마디로 BFS에 대한 개념이 흔들린 것.


05. 메인


상당히 오랜만에 풀어보아서 그런지 조금 고전 했던것 같습니다.

감을 잃지 않게 꾸준히 풀어야 할 것 같습니다.





+ Recent posts