‡ CODING TEST STUDY ‡/º 프로그래머스
[프로그래머스 | Java Lv.2] [복습] 더 맵게 (힙 Heap)
Trudy | 송연
2024. 6. 10. 15:20
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근
시간차를 얼마 두지 않고 복습한거라 큰 어려움 없이 풀었던 문제!
최종 코드
package week6.baek.heap;
import java.util.Comparator;
import java.util.PriorityQueue;
public class MoreSpicy {
public static int solution(int[] scoville, int K) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int x : scoville) {
pq.add(x);
}
int count = 0;
while(pq.peek() < K){
if(pq.size() == 1){
return -1;
}
int n = pq.poll();
int m = pq.poll();
pq.add(n + m *2);
count++;
}
return count;
}
public static void main(String[] args) {
int[] scoville = { 1, 2, 3, 9, 10, 12};
int K = 7;
System.out.println(solution(scoville, K));
}
}