https://school.programmers.co.kr/learn/courses/30/lessons/42626
문제 분류 : 코딩테스트 연습 > 힙(Heap) > 더 맵게
난이도 : 2
정답 코드
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int target : scoville){
pq.add(target);
}
int cnt = 0;
boolean flag = false;
while(pq.size() >=1){
if(pq.peek() >= K){
flag = true;
break;
}
cnt++;
if(pq.size() == 1) break;
int temp = pq.poll();
int temp2 = pq.poll();
pq.add(temp + temp2 * 2);
}
if(!flag) return -1;
return cnt;
}
}
'Algorithm > Programmers Java' 카테고리의 다른 글
Java 프로그래머스 프로세스 (0) | 2024.03.04 |
---|---|
Java 프로그래머스 소수 찾기 (0) | 2024.03.04 |
Java 프로그래머스 [1차] 뉴스 클러스터링 (0) | 2024.03.04 |
Java 프로그래머스 의상 (0) | 2024.03.04 |
Java 프로그래머스 숫자의 표현 (1) | 2024.03.02 |