코딩테스트/프로그래머스 2단계
프로그래머스 2단계 - 더 맵게(힙)
SICDev
2021. 9. 13. 23:11
반응형
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;
}
}
반응형