[프로그래머스] 코딩테스트 연습 - 힙(Heap) Level 2 더 맵게
Solution.java
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int s : scoville) {
pq.add(s);
}
int[] min = new int[2];
while (pq.size() >= 2 && pq.peek() < K) {
min[0] = pq.poll();
min[1] = pq.poll();
pq.add(min[0] + min[1] * 2);
answer++;
}
return pq.peek() < K ? -1 : answer;
}
}
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int s : scoville) {
pq.add(s);
}
int[] min = new int[2];
while (pq.size() >= 2 && pq.peek() < K) {
min[0] = pq.poll();
min[1] = pq.poll();
pq.add(min[0] + min[1] * 2);
answer++;
}
return pq.peek() < K ? -1 : answer;
}
}
우선순위 큐를 이용하면 쉽게 풀 수 있는 문제였다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
Author And Source
이 문제에 관하여([프로그래머스] 코딩테스트 연습 - 힙(Heap) Level 2 더 맵게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hye07on11/프로그래머스-코딩테스트-연습-힙Heap-Level-2-더-맵게저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)