알고리즘/백준

1697번 숨바꼭질

코딍코딍 2022. 9. 13. 21:50

 

 

해결방법

3트만에 해결한 문제이다.

이동은 -1, +1 , *2 할수있다.

현재 위치가 동생의 위치를 넘어가지 않는다면 세가지 경우로 탐색해야 한다. -1 후 *2하여 최소의 경우가 나올 수 있기 때문이다.

만약 동생의 위치를 넘어간다면 -1의 경우만 탐색하면 된다.

 

메모리 초과
- 중복된 위치도 계속해서 탐색하여 중복해서 큐에 들어가니 큐가 점점 쌓이고 결국 메모리 초과

=> visited[] 배열을 생성하여 이미 탐색된 위치 판별

 

런타임 에러 (ArrayIndexOutOfBounds)
- 배열범위 넘어가는 문제

=> 범위에 맞게

조건문을 작성