csct3434
[level 2] 숫자 변환하기 - 154538 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int x, int y, int n) {
Set<Integer> visited = new HashSet<>();
Queue<int[]> queue = new LinkedList<>();
queue.add(new int[]{x, 0});
while (!queue.isEmpty()) {
int[] info = queue.poll();
int number = info[0], count = info[1];
int[] nextNumbers = new int[]{number + n, number * 2, number * 3};
if (number == y) {
return count;
}
for (int nextNumber : nextNumbers) {
if (nextNumber <= y && !visited.contains(nextNumber)) {
visited.add(nextNumber);
queue.add(new int[]{nextNumber, count + 1});
}
}
}
return -1;
}
}
'프로그래머스' 카테고리의 다른 글
[level 3] 단어 변환 - 43163 (0) | 2024.03.17 |
---|---|
[level 3] 네트워크 - 43162 (0) | 2024.03.17 |
[level 3] 단속카메라 - 42884 (0) | 2024.03.17 |
[level 3] 섬 연결하기 - 42861 (0) | 2024.03.17 |
[level 3] 이중우선순위큐 - 42628 (0) | 2024.03.17 |