본문 바로가기

코딩테스트

[코딩테스트] 더 맵게

문제

 


코드

#include <vector>
#include <queue>
using namespace std;

int solution(vector<int> scoville, int K) {
	int answer = -1;
	priority_queue<int, vector<int>, greater<int>> qu(scoville.begin(), scoville.end());

	while(!qu.empty())
	{
		int scovilleValue = qu.top();
		qu.pop();

		if (scovilleValue < K)
		{
			if (qu.empty())
				answer++;			
			else
			{
				qu.push(scovilleValue + (qu.top() * 2));
				qu.pop();
				answer++;
			}
		}
		
		if (qu.empty() && scovilleValue < K)
			return -1;

	}

	return answer + 1;
}

 

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 프린터  (0) 2021.09.12
[코딩테스트] 숫자 문자열과 영단어  (0) 2021.09.08
[코딩테스트] 오픈채팅방  (0) 2021.08.26
[코딩테스트] 카펫  (0) 2021.08.22
[코딩테스트] 타겟 넘버  (0) 2021.08.20