https://programmers.co.kr/learn/courses/30/lessons/42626
📒 문제
📒 제한 사항
💡 코드
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 1;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int i : scoville) {
pq.add(i);
}
heap.add(pq.poll() + pq.poll() * 2);
while (true) {
if (pq.peek() >= K) break;
else if (pq.peek()<K && pq.size() < 2) {
answer = -1;
break;
}
answer++;
pq.add(pq.poll() + pq.poll() * 2);
}
return answer;
}
}
💡 정리하기
👉 우선순위큐를 사용하기 전에는 효율성 테스트에 전부 실패했는데 우선순위큐를 사용하니까 통과할 수 있었다.