오늘은 여기까지

[프로그래머스] 더 맵게 - 자바 Java 본문

Problem Solving

[프로그래머스] 더 맵게 - 자바 Java

dev-99 2024. 7. 30. 21:24

https://school.programmers.co.kr/learn/courses/30/lessons/42626

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

힙 연습문제 답게 우선순위 큐를 사용하면 엄청 쉽게 풀린다.

import java.util.*;

class Solution {
    public int solution(int[] scoville, int K) {
        int answer = 0;
        PriorityQueue<Integer> heap = new PriorityQueue<>();
        for(int food : scoville) {
            heap.add(food);
        }
        while(heap.peek() < K) {
            if(heap.size() < 2) {
                return -1;
            }
            int newFood = heap.poll() + heap.poll() * 2;
            heap.add(newFood);
            answer++;
        }
        return answer;
    }
}

 

테스트 케이스 3개정도가 통과 안돼서 다시 봤더니 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 리턴해야 된다. 문제를 꼼꼼히 읽자..