본문 바로가기
코딩테스트/프로그래머스

[힙] 더 맵게 - JAVA

by 의정부핵꿀밤 2022. 4. 29.
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

댓글