반응형
https://programmers.co.kr/learn/courses/30/lessons/42626
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> que = new PriorityQueue<>();
//우선순위 큐에 넣는다.
for(int scov : scoville){
que.add(scov);
}
//첫번째 값(가장 낮은값)이 K값보다 작으면
if(que.peek() < K){
int sum = 0;
//루프를 돌린다.
while(!que.isEmpty()){
if(que.size() == 1){
answer = -1;
break;
}
int first = que.poll();
int second = que.poll();
sum = first+(second*2);
que.add(sum);
answer++;
//첫번째 값이 K이상이면 루프를 나간다.
if(que.peek() >= K){
break;
}
}
}
return answer;
}
}
반응형
'코딩테스트 > 프로그래머스 2단계' 카테고리의 다른 글
프로그래머스 2단계 - 주식가격(스택/큐) (0) | 2021.09.13 |
---|---|
프로그래머스 2단계 - 프린터(스택/큐) (0) | 2021.09.09 |
프로그래머스 2단계 - 다리를 지나는 트럭(스택/큐) (0) | 2021.09.09 |
프로그래머스 2단계 - 기능개발(스택/큐) (0) | 2021.09.09 |
프로그래머스 2단계 - 위장(해쉬) (0) | 2021.09.08 |