BFS를 이용해 아기상어가 먹을 수 있는 물고기 탐색한다. 탐색 된 물고기 중 아기상어와 거리가 가장 짧은 물고기들을 배열에 저장한다. 배열에 저장된 물고기들 중 좌표상 가장 위에있고, 왼쪽에 위치해있는 물고기를 찾는다. 그렇게 발견된 물고기를 향해 아기상어가 이동하고
1. 플레이어 위치를 오른쪽으로 이동시킨다. 2. 플레이어와 같은 x축에 있는 상어중 가장 거리가 가까운 상어를 잡는다. 3. 상어들이 이동한다. 4. 플레이어가 오른쪽 끝까지 이동할 때까지 1~3번을 반복한다.
예전에 이 문제를 처음 봤을당시, 어떻게 풀어야할지 몰라 미루고 있었다가, n퀸, 2048 같은 백트래킹 문제를 접하고 나서야 이 문제가 백트래킹이 필요한 문제인지 알아차렸다. 풀이 일단 나는 DFS를 통해 맵에 벽을 세우는 조합을 만들었고, 벽은 3개를 반드시 설치
과거 씨언어 예제로 많이 봤었던 snake 게임이다. 경우의 수 중 가장 좋은 결과물을 뽑는 그래프문제가 아닌 그냥 시뮬/구현 문제라 어렵지 않았다. 나는 뱀의 몸통들의 위치를 덱에 넣어 사용했는데, 이동할 때 덱의 앞부분에 뱀의 머리부분의 좌표를 넣어주고,
DFS, 백트래킹을 이용하면 쉽게 풀 수있는 문제다. 블럭의 종류는 탐색 시 깊이가 4인 블럭들과 아닌 보라색 블럭으로 나눠져있는데, 깊이가 4인 블럭들의 의미는, 예를들어 (1,1) 좌표로 부터 시작해서 (?,?) 좌표까지 깊이가 4인 블럭들을 의미 합니다. 하지만