Lewis's Tech Keep
[프로그래머스] 더 맵게 본문
- 기본 힙 이용해서 풀어나가는 문제
- 힙 구조에 문제에 나온 설명 그대로 따라가면 끝.
더보기
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
for(int sNum: scoville) {
minHeap.add(sNum);
}
while( minHeap.size() > 1 && K > minHeap.peek()) {
Integer leastHotNum = minHeap.poll();
Integer secondHotNum = minHeap.poll();
Integer newHot = leastHotNum + (secondHotNum * 2);
if(newHot == 0) {
answer = -1;
break;
}
minHeap.add(newHot);
answer++;
}
if(K > minHeap.peek()) {
answer = -1;
}
return answer;
}
}
'Java > 알고리즘' 카테고리의 다른 글
[프로그래머스] 네트워크 (0) | 2021.02.16 |
---|---|
[TODO][JAVA] 자바 DOC 많이 읽을 것 (0) | 2021.02.15 |
[프로그래머스] 정수 삼각형 (0) | 2021.02.10 |
[프로그래머스] 정수 삼각형 - 실패 (0) | 2021.02.10 |
[프로그래머스] 올바른 괄호 (0) | 2021.02.09 |
Comments