728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42626
풀이
- 우선순위 큐 사용
- 주석 참고
코드
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
//우선순위 큐 사용
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i : scoville){
pq.add(i);
}
//스코빌 지수가 K 이상
while(pq.peek() < K){
// 스코빌 지수를 K 이상으로 만들 수 없는 경우
if(pq.size() == 1){
return -1;
// else pq.add( poll() + poll() * 2 )
}else{
answer++;
pq.add(pq.poll() + pq.poll() * 2);
}
}
return answer;
}
}
728x90
'알고리즘 풀이' 카테고리의 다른 글
[프로그래머스] 땅따먹기 자바(Java) (0) | 2023.04.08 |
---|---|
[프로그래머스] 피로도 자바(Java) (0) | 2023.04.06 |
[프로그래머스] 연속 부분 수열 합의 개수 자바(Java) (0) | 2023.04.05 |
[프로그래머스] n^2 배열 자르기 자바(Java) (0) | 2023.04.04 |
[프로그래머스] 위장 자바(Java) (0) | 2023.04.03 |
댓글