programmers_숫자 변환하기_java
2023. 4. 14. 11:18ㆍAlgorithm/Programmers
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/154538
import java.util.*;
class Solution {
public int solution(int x, int y, int n) {
int answer = 0;
answer = bfs(x, y, n);
return answer;
}
public int bfs(int x, int y, int n){
Queue<Integer> queue = new LinkedList<>();
queue.offer(y);
int level = 0;
while(!queue.isEmpty()){
int size = queue.size();
for(int i = 0; i< size; i++){
int now = queue.poll();
if(now == x) return level;
if(now < x) continue;
if(now%2 == 0){
queue.offer(now/2);
}
if(now%3 == 0){
queue.offer(now/3);
}
queue.offer(now-n);
}
level++;
}
return -1;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
programmers_큰 수 만들기_java (0) | 2023.04.15 |
---|---|
programmers_쿼드압축 후 개수 세기_java (0) | 2023.04.14 |
programmers_뒤에 있는 큰 수 찾기_java (0) | 2023.04.14 |
programmers_2 x n 타일링_java (0) | 2023.04.13 |
programmers_2개 이하로 다른 비트_java (0) | 2023.04.13 |