코딩테스트/프로그래머스
[힙] 더 맵게 - JAVA
의정부핵꿀밤
2022. 4. 29. 13:15
728x90
https://programmers.co.kr/learn/courses/30/lessons/42626
코딩테스트 연습 - 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같
programmers.co.kr
반복문을 통해서 최솟값 2개를 반복해서 뽑아내면 되니까 우선순위 큐를 사용하여 구현했다
별건없다!
자바 코드)
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int s : scoville) {
pq.add(s);
}
while(pq.peek()<K) {
if(pq.size()==1) {
return -1;
}
int min1 = pq.poll();
int min2 = pq.poll();
pq.add(min1+min2*2);
answer++;
}
return answer;
}
}
728x90