알고리즘/프로그래머스
Programers 더 맵게
내이름은 킹햄찌
2022. 7. 26. 22:55
https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스 더 맵게 문제입니다.
아이디어
우선 큐를 이용하여 스코빌 지수가 낮은 음식들을 조합하여 조건에 맞는 스코빌 지수를 맞게 맞추는 문제입니다.
크게 고려할 부분은 없었다고 느껴집니다.
#include <string>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> scoville, int K) {
priority_queue<int, vector<int>, greater<int>> q;
int answer = 0;
for (auto iter : scoville)
q.push(iter);
while (q.top() <= K) {
if (q.size() == 1) {
answer = -1;
break;
}
int first = q.top();
q.pop();
int second = q.top();
q.pop();
int result = first + second * 2;
q.push(result);
answer++;
}
return answer;
}