문제

입출력

풀이
#include <string>
#include <vector>
#include <queue>
using namespace std;
//섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)
int solution(vector<int> scoville, int K) {
int answer = 0;
priority_queue<int, vector<int>, greater<int> > pq;
for(int i = 0; i < scoville.size(); i++)
{
pq.push(scoville[i]);
}
while(pq.top() < K)
{
//모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우
if(pq.size() < 2)
return -1;
int a = pq.top();
pq.pop();
int b = pq.top();
pq.pop();
int c = a + (b*2);
pq.push(c);
answer++;
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=cpp
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Windows > Algorithm' 카테고리의 다른 글
| [백준] 1011번 Fly me to the Alpha Centauri | C/C++ (1) | 2025.01.27 |
|---|---|
| [프로그래머스] 전화번호 목록 | C/C++ (0) | 2024.10.29 |
| [프로그래머스] 완주하지 못한 선수 | C/C++ (8) | 2024.10.17 |
| [프로그래머스] H-Index | C/C++ (0) | 2024.10.16 |
| [프로그래머스] 가장 큰 수 | C/C++ (4) | 2024.10.16 |