반응형
힙을 이용한 우선순위 큐(PriorityQueue) 라이브러리를 이용하여 풀었습니다.
우선순위 큐의 원리를 몰라서 아래 글을 참고하였습니다.
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);
while (pq.peek()<K){
if(pq.size()==1) return -1;
answer++;
pq.add(pq.poll()+pq.poll()*2);
}
return answer;
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 2480번 주사위 세개 [ Java ] (0) | 2020.12.20 |
---|---|
백준 2752번 세수정렬 [ Java ] (0) | 2020.12.20 |
프로그래머스 코딩테스트 연습 Level1 - 문자열 내 마음대로 정렬하기 [ Java ] (0) | 2020.07.10 |
프로그래머스 코딩테스트 연습 Level2 - 전화번호 목록 [ Java ] (0) | 2020.07.08 |
프로그래머스 코딩테스트 연습 Level1 - 두 정수 사이의 합 [ Java ] (0) | 2020.07.08 |