Notice
Recent Posts
Recent Comments
Link
뮁이의 개발새발
[JAVA] 프로그래머스 더 맵게 (우선순위 큐) 본문
우선순위큐를 자주 안써봐서 당황했던 문제.. list로 구현하면 효율성에서 0점이 나온다...!!!
우선순위큐는 안에 들어가면서 정렬되는것이 아니라 나올때 우선순위가 높은 애들이 poll됨
import java.util.PriorityQueue;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> queue = new PriorityQueue<Integer>();
for (int i = 0; i < scoville.length; i++) {
queue.add(scoville[i]);
}
while (true) {
if (queue.size() < 2) {
System.out.println(-1);
return -1;
}
int newscb = queue.poll() + queue.poll() * 2; // 작은거 두개 뽑음
// System.out.println(newscb);
queue.offer(newscb); // 큐에 추가
answer++; // 횟수 1회 추가
if (queue.peek() >= K) { //가장 낮은 값이 K보다 크면 전부 K보다 큰 것..
System.out.println(answer);
return answer;
}
}
}
}
Comments