[프로그래머스] 더 맵게 42626 (JAVA)

dia·2023년 10월 14일
0

풀이방식

  1. PriorityQueue 생성 및 초기화
  2. 가장 낮은 음식의 점수가 K보다 커질 때까지 루프
  3. 음식이 1개 남았을 때 그 음식의 점수가 K보다 작으면 실패

구현

import java.util.PriorityQueue;

public class NUM42626 {
    public static void main(String[] args) {
        int[] scoville = {1, 2, 3, 9, 10, 12};
        int K = 7;
        System.out.println(solution(scoville, K));
    }
    public static int solution(int[] scoville, int K) {
        int answer = 0;
        PriorityQueue<Integer> scovs = new PriorityQueue();
        for(int s : scoville) { scovs.offer(s); }

        while(scovs.peek() < K) {
            if(scovs.size() == 1 && scovs.peek() < K) { answer = -1; break; }

            scovs.offer(scovs.poll() + scovs.poll() * 2);
            answer++;
        }

        return answer;
    }
}

*다른 분들의 코드를 참고하여 작성했습니다

profile
CS 메모장

0개의 댓글