99클럽 코테 스터디 25일차 TIL + 힙

2024. 11. 21. 16:08Algorithm Problem Solving

https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=java

 

1. 알고리즘! 생각해보자

1) priority queue 에 넣기
2) 반복문 조건: queue.peek() < K
- 스코빌지수 계산해서 queue.add()

2. 해결 코드

import java.util.PriorityQueue;
class Solution {
    public int solution(int[] scoville, int K) {
        int answer = 0;
        PriorityQueue<Integer> que = new PriorityQueue<>();
        
        for (int i = 0; i < scoville.length; i++) {
            que.add(scoville[i]);
        }
        while(que.peek() < K) {
            if (que.size() == 1)
                return -1;
            que.add(que.poll() + que.poll() * 2);
            answer++;
        }
        return answer;
    }
}

3. 레퍼런스

 

[프로그래머스] 더 맵게_JAVA

문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K

born2bedeveloper.tistory.com