> For the complete documentation index, see [llms.txt](https://heunnajo.gitbook.io/algorithms-problem-solving-skills/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heunnajo.gitbook.io/algorithms-problem-solving-skills/bfs-getting-minimum-value/babyshark.md).

# BabyShark

문제 복기

**생각하지 못한 부분**

1. 정답 : 물고기 먹는데 걸리는 시간 합산값
2. 물고기 먹은 후 상어위치는 거기서 다시 시작한다는 것
3. 상어가 물고기를 찾아 이동하는 탐색을 반복하는데 종료하는 조건은 알 수 없다.\
   \=> 무한반복문으로 구현한다!

**생각은 했지만 구현까지는 하지 못한 부분**

1. 물고기 정보 관리 => 어떻게 하면 좋을까?

**구현하지 못한 부분**

1. 물고기들 정보 :  배열 **리스트로** 구현해서 관리할 수 있다!
2. 종료 조건 : 물고기 리스트의 크기가 0이면 먹을 물고기가 없다는 의미이므로 종료하면 된다!

**알고리즘**

1. 물고기 정보 리스트에 저장(BFS)
2. 1에 따른 종료 조건 먼저 구현
3. 먹을 수 있는 물고기가 있는 경우\
   우선순위에 따라 물고기 선택 구현
4. 물고기 먹는다!\
   물고기 먹는 연산 처리\
   물고기 먹는데 걸리는 이동시간 = 해당 물고기의 거리값\
   물고기를 다 먹고 나면 상어는 그 위치에서 다시  BFS 반복한다.(1부터 다시 반복)
