728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/42626?language=java
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> heap = new PriorityQueue();
for(int s : scoville){
heap.offer(s);
}
while(heap.peek() < K){
if(heap.size() == 1){
return -1;
}
int a = heap.poll();
int b = heap.poll();
int result = a + (2*b);
heap.offer(result);
answer++;
}
return answer;
}
}
힙(우선순위 큐)은 자동 오름차순 정렬이 된다는 것을 이용해 제일 작은 값과 하나 더 큰 값을 꺼내 연산 후 비교한다.
- 참고
https://hidelookit.tistory.com/41
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스/JAVA] K번째 수 (0) | 2022.01.12 |
---|---|
[프로그래머스/Java] 이중우선순위큐 (0) | 2022.01.10 |
[프로그래머스/JAVA] 주식가격 (0) | 2021.12.28 |
[프로그래머스/JAVA] 기능개발(스택/큐) (0) | 2021.12.27 |
[재귀함수/backtracking] n queens problem (0) | 2021.12.02 |