Programmers 42626 더 맵게

로고 이미지

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42626

나의 풀이

우선 순위 큐를 사용하여 모든 음식의 스코빌 지수를 K이상으로 만든다.

풀이 코드 : 42626 더 맵게

#include <string>
#include <vector>
#include <queue>

using namespace std;

int solution(vector<int> scoville, int K) {
    int answer = -1, count = 0;
    priority_queue<int> pq;
    for(int i=0;i<scoville.size();i++){
        pq.push(-scoville[i]);
    }
    while(true){
        int first = -pq.top();
        if(first >= K) {
            answer = count;
            break;
        }
        else if(pq.size() < 2) break;
        pq.pop();
        int second = -pq.top();
        pq.pop();
        int new_num = first + second*2;
        pq.push(-new_num);
        count++;
    }
    return answer;
}

채점결과

42586


© 2020. All rights reserved.

Powered by Hydejack v8.4.0