[JAVA]백준 - 1697번 숨바꼭질 (실버1)

2025. 2. 23. 19:47· [LG 유플러스] 유레카/코딩테스트
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int K = sc.nextInt();
		int arr[] = new int[100001];
		Queue<Integer> q = new LinkedList<>();
		
		q.offer(N);
		while(!q.isEmpty()) {
			int cur = q.poll();
			
			if(cur == K) {
				System.out.println(arr[cur]);
				break;
			}
			
			
			if(cur-1 >= 0 && arr[cur-1]==0) {
				arr[cur-1] = arr[cur]+1;
				q.offer(cur-1);
			}
			if(cur+1 < arr.length && arr[cur+1]==0) {
				arr[cur+1] = arr[cur]+1;
				q.offer(cur+1);
			}
			if(cur*2 < arr.length && arr[cur*2]==0) {
				arr[cur*2] = arr[cur]+1;
				q.offer(cur*2);
			}
		}
		
	}
}
  • 큐를 사용하여 BFS 탐색을 수행
  • N을 큐에 추가하고 탐색 시작
  • 큐에서 cur(현재 위치) 하나씩 꺼내면서, 도착하면(cur == K) 즉시 이동 횟수 출력 후 종료
  • 이동할 수 있는 위치 cur-1, cur+1, cur*2 중 방문하지 않은 곳을 탐색
  • arr[next] = arr[cur] + 1로 이동 횟수 업데이트 후 큐에 추가
  • 최단 시간 출력(arr[K])

'[LG 유플러스] 유레카 > 코딩테스트' 카테고리의 다른 글

[JAVA]SWEA - 2001 파리 퇴치 (D2)  (0) 2025.02.23
[JAVA]SWEA - 1208 Flatten (D3)  (0) 2025.02.23
[JAVA]SWEA - 2805 농작물 수확하기 (D3)  (0) 2025.02.23
[JAVA]백준 - 17478번 재귀함수가 뭔가요? (실버5)  (0) 2025.02.21
[JAVA]SWEA - 1873. 상호의 배틀필드 (D3)  (0) 2025.02.21
'[LG 유플러스] 유레카/코딩테스트' 카테고리의 다른 글
  • [JAVA]SWEA - 2001 파리 퇴치 (D2)
  • [JAVA]SWEA - 1208 Flatten (D3)
  • [JAVA]SWEA - 2805 농작물 수확하기 (D3)
  • [JAVA]백준 - 17478번 재귀함수가 뭔가요? (실버5)
leeemingyu
leeemingyu
leeemingyu
ye
leeemingyu

블로그 메뉴

  • GitHub
  • Instagram
    전체
    오늘
    어제
    • 전체보기 (68)
      • GDSC (4)
        • 실시간 채팅 구현 (4)
      • [LG 유플러스] 유레카 (63)
        • Today I Learned (37)
        • 코딩테스트 (22)
        • 프로젝트 (4)

    공지사항

    인기 글

    최근 댓글

    최근 글

    hELLO · Designed By 정상우.v4.2.2
    leeemingyu
    [JAVA]백준 - 1697번 숨바꼭질 (실버1)
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.