코딩테스트/프로그래머스

프로그래머스 문제풀이 - 더 맵게 (priority_queue)

글로벌디노 2020. 10. 21. 22:49

프로그래머스 문제풀이

코딩테스트 연습 > 힙(Heap) > 더 맵게

programmers.co.kr/learn/courses/30/lessons/42626

 

 

C++

#include <vector>
#include <queue>

using namespace std;

int solution(vector<int> scoville, int K) 
{
    int answer = 0;
    priority_queue<int, vector<int>, greater<int>> scov(scoville.begin(), scoville.end());
    while (scov.top() < K)
    {
        if (scov.size() == 1)
            return -1;

        ++answer;
        int first = scov.top();
        scov.pop();
        first += scov.top() * 2;
        scov.pop();
        scov.push(first);
    }

    return answer;
}

 

정확성 테스트

테스트 1 통과 (0.01ms, 3.9MB)
테스트 2 통과 (0.01ms, 3.73MB)
테스트 3 통과 (0.01ms, 3.78MB)
테스트 4 통과 (0.01ms, 3.83MB)
테스트 5 통과 (0.01ms, 3.96MB)
테스트 6 통과 (0.09ms, 3.96MB)
테스트 7 통과 (0.07ms, 3.96MB)
테스트 8 통과 (0.01ms, 3.96MB)
테스트 9 통과 (0.02ms, 3.96MB)
테스트 10 통과 (0.06ms, 3.89MB)
테스트 11 통과 (0.04ms, 3.97MB)
테스트 12 통과 (0.12ms, 3.96MB)
테스트 13 통과 (0.07ms, 3.96MB)
테스트 14 통과 (0.01ms, 3.94MB)
테스트 15 통과 (0.09ms, 3.96MB)
테스트 16 통과 (0.01ms, 3.93MB)

효율성 테스트

테스트 1 통과 (26.18ms, 8.86MB)
테스트 2 통과 (55.51ms, 14MB)
테스트 3 통과 (206.75ms, 39.2MB)
테스트 4 통과 (20.86ms, 7.92MB)
테스트 5 통과 (221.65ms, 40.8MB)

채점 결과

정확성: 76.2

효율성: 23.8

합계: 100.0 / 100.0