본문 바로가기
Coding Test/Solved

[BOJ] 백준 1697번 - 숨바꼭질(with Java)

by Blue Developer 2022. 6. 28.

알고리즘

  1. N에서 BFS를 시작한다.
  2. 가장 빨리 찾은 시간을 게산하기 위해서 idxtime을 원소로 가지는 Node 클래스를 생성한다.
  3. 총 3가지의 행동 X-1, X+1, X*2을 할 수 있으므로 각각의 경우에 대해서 이동할 수 있는지 확인한 후에 방문 처리 및 time을 1 증가시켜서 큐에 넣어준다.
  4. 큐에서 꺼낸 node.idx의 값이 K와 일치하면 answer에 값을 저장하고 반복문을 탈출한다.

소스코드

문제링크

 

1697번: 숨바꼭질

수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일

www.acmicpc.net

 

댓글