https://school.programmers.co.kr/learn/courses/30/lessons/154538
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
private static final int NOT_FOUND = -1;
public int solution(int x, int y, int n) {
int answer = cal(x,y,n);
return answer;
}
private static int cal(int start,int end , int num){
Queue<Integer> q = new LinkedList<>();
q.offer(start);
int time = 0;
Set<Integer> visited = new HashSet<>();
while(!q.isEmpty()){
int size = q.size();
for(int s = 0 ; s < size ; s++){
int now = q.poll();
if(now == end){
return time;
}
int next = 0;
for(int i = 1 ; i <= 3 ; i++){
if(i == 1){
next = now + num;
}else{
next = now * i;
}
if(!visited.contains(next) && next <= end){
q.offer(next);
visited.add(next);
}
}
}
time++;
}
return NOT_FOUND;
}
}
'알고리즘' 카테고리의 다른 글
백준 5212번 지구 온난화 (JAVA) (0) | 2023.02.21 |
---|---|
백준 1197번 최소 스패닝 트리 (JAVA) (0) | 2023.02.20 |
프로그래머스 카드 뭉치(JAVA) (0) | 2023.02.18 |
백준 17244번 아맞다우산(JAVA) (0) | 2023.02.17 |
백준 16493번 최대 페이지 수 (JAVA) (0) | 2023.02.16 |