맵에 상어를 어떻게 저장할까?

 

상어의 크기에 따라 정답이 좌우된다.

 

따라서, 상어의 크기 에 맞춰서 저장하면 된다. 

 

상어의 크기는 1~10000 까지 있으므로

 

1. 상어의 정보를 담는 클래스를 만든다. (java 기준)

 

2. 문제에 두 상어는 크기가 같을 수 없다 했으므로, 맵 정보를 저장할때 상어의 정보를 함께 저장한다. 

 

3. 문제에서 제시한 대로 낚시꾼이 상어 한마리를 잡는다. 

 

4. 상어를 이동 시킨다. 이동시킬때 상어의 위치가 1 이라면 (상, 하) (좌, 우) 에 따라서 (상, 하) 인 경우 아래로 (좌, 우) 인경우 오른쪽으로 반대로 상어의 위치가 width-1 혹은 height -1 인경우 위치가 1인 경우와 반대로 이동시켜 주면 된다. 

 

이동 시키전에 맵을 초기화, 이동 시킨 후에 상어의 정보를 업데이트

 

5. 이동 된 상어끼리 맵에 배치하고 계속 들어오는 정보에 따라 상어 크기를 비교 작은건 먹힌다. 

 

코드보기