문제링크
https://www.acmicpc.net/problem/1697
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main_1697 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Queue<Integer> q = new LinkedList<>();
int N,K; //수빈이의 위치 ,, 동생의 위치
int time = 0; //걸리는 시간
int visited[] = new int[100001];
N = sc.nextInt();
K = sc.nextInt();
q.offer(N); //초기 값 넣어주기
while(!q.isEmpty()) {
int size = q.size();
int current=0;
//size만큼 돌면서 -1,1,2 넣어주기
//현재 dept만큼?
for(int i=0;i<size;i++) {
current = q.poll();
if(current== K)
break;
if(current>0 && visited[current-1]==0) {
q.offer(current-1);
visited[current-1] = 1;
}
if(current<100000 && visited[current+1] == 0) {
q.offer(current+1);
visited[current+1] = 1;
}
if(current*2<=100000 && visited[current*2] == 0) {
q.offer(current*2);
visited[current*2] =1;
}
}
if(current == K)
break;
time++;
}
System.out.println(time);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[JAVA]백준_3040_백설공주와 일곱난쟁이 (0) | 2021.02.15 |
---|---|
[JAVA]백준_11559_뿌요뿌요 (0) | 2021.02.15 |
[JAVA]백준_2563_색종이 (0) | 2021.02.13 |
[JAVA]백준_16935_배열돌리기3 (0) | 2021.02.13 |
[JAVA]백준_1158_요세푸스 문제 (0) | 2021.02.10 |