[프로그래머스] 더 맵게 C++
by 너나나https://programmers.co.kr/learn/courses/30/lessons/42626
우선순위큐를 사용한다면 어렵지 않은 문제!!!!
#include <string>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> scoville, int K) {
int answer = 0;
priority_queue<int, vector<int>, greater<int>> pq;
for(int i: scoville) {
pq.push(i);
}
while(pq.top() < K) {
if(pq.size() == 1) return -1; // 스코빌 지수를 넘지 않았는데 사이즈가 1이라면 스코빌지수 K이상으로 만들 수 x
int a = pq.top();
pq.pop();
pq.push(a + pq.top()*2);
pq.pop();
answer++;
}
return answer;
}
'study > 알고리즘' 카테고리의 다른 글
[프로그래머스] 네트워크 C++ (1) | 2022.05.14 |
---|---|
[프로그래머스] 기능개발 C++ (1) | 2022.05.11 |
[프로그래머스] 완주하지 못한 선수 C++ (1) | 2022.05.11 |
[프로그래머스] 숫자 문자열과 영단어 C++ (0) | 2022.05.09 |
[프로그래머스] 신고 결과 받기 C++ (0) | 2022.05.09 |
블로그의 정보
공부 기록
너나나