๋ฌธ์
๋งค์ด ๊ฒ์ ์ข์ํ๋ Leo๋ ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ธฐ ์ํด Leo๋ ์ค์ฝ๋น ์ง์๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ ๊ฐ์ ์์์ ์๋์ ๊ฐ์ด ํน๋ณํ ๋ฐฉ๋ฒ์ผ๋ก ์์ด ์๋ก์ด ์์์ ๋ง๋ญ๋๋ค. ์์ ์์์ ์ค์ฝ๋น ์ง์ = ๊ฐ์ฅ ๋งต์ง ์์ ์์์ ์ค์ฝ๋น ์ง์ + (๋ ๋ฒ์งธ๋ก ๋งต์ง ์์ ์์์ ์ค์ฝ๋น ์ง์ * 2) Leo๋ ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๊ฐ K ์ด์์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ์ฌ ์์ต๋๋ค. Leo๊ฐ ๊ฐ์ง ์์์ ์ค์ฝ๋น ์ง์๋ฅผ ๋ด์ ๋ฐฐ์ด scoville๊ณผ ์ํ๋ ์ค์ฝ๋น ์ง์ K๊ฐ ์ฃผ์ด์ง ๋, ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ์์ด์ผ ํ๋ ์ต์ ํ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ์ฌํญ scoville์ ๊ธธ์ด๋ 2 ์ด์ 1,000,000 ์ดํ์ ๋๋ค. K๋ 0 ์ด์ 1,000,000,000 ์ดํ์ ๋๋ค. scoville์ ์์๋ ๊ฐ๊ฐ 0 ์ด์ 1,000,000 ์ดํ์ ๋๋ค. ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์๋ -1์ return ํฉ๋๋ค. ์ ์ถ๋ ฅ ์ scoville K return [1, 2, 3, 9, 10, 12] 7 2 ์ ์ถ๋ ฅ ์ ์ค๋ช ์ค์ฝ๋น ์ง์๊ฐ 1์ธ ์์๊ณผ 2์ธ ์์์ ์์ผ๋ฉด ์์์ ์ค์ฝ๋น ์ง์๊ฐ ์๋์ ๊ฐ์ด ๋ฉ๋๋ค. ์๋ก์ด ์์์ ์ค์ฝ๋น ์ง์ = 1 + (2 * 2) = 5 ๊ฐ์ง ์์์ ์ค์ฝ๋น ์ง์ = [5, 3, 9, 10, 12] ์ค์ฝ๋น ์ง์๊ฐ 3์ธ ์์๊ณผ 5์ธ ์์์ ์์ผ๋ฉด ์์์ ์ค์ฝ๋น ์ง์๊ฐ ์๋์ ๊ฐ์ด ๋ฉ๋๋ค. ์๋ก์ด ์์์ ์ค์ฝ๋น ์ง์ = 3 + (5 * 2) = 13 ๊ฐ์ง ์์์ ์ค์ฝ๋น ์ง์ = [13, 9, 10, 12] ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๊ฐ 7 ์ด์์ด ๋์๊ณ ์ด๋ ์์ ํ์๋ 2ํ์ ๋๋ค. โป ๊ณต์ง - 2022๋ 12์ 23์ผ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๊ธฐ์กด์ ์ ์ถํ ์ฝ๋๊ฐ ํต๊ณผํ์ง ๋ชปํ ์๋ ์์ต๋๋ค. โป ๊ณต์ง - 2023๋ 03์ 23์ผ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๊ธฐ์กด์ ์ ์ถํ ์ฝ๋๊ฐ ํต๊ณผํ์ง ๋ชปํ ์๋ ์์ต๋๋ค.
ํ์ด
#include <string>
#include <vector>
#include <queue>
using namespace std;
int solution(vector<int> scoville, int K) {
priority_queue<int, vector<int>, greater<int>> q;
for(int i : scoville) {
q.push(i);
}
int answer = 0;
while(q.top() < K) {
if(q.size()==1) {
return -1;
}
answer++;
int a = q.top();
q.pop();
int b = q.top();
q.pop();
q.push(a + b*2);
}
return answer;
}
'๐ Cpp > [ํ๋ก๊ทธ๋๋จธ์ค] ๊ณ ๋์ Kit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๊ฐ์ฅ ํฐ ์ (level2) (0) | 2025.01.09 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][C++] K๋ฒ์งธ์ (level1) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ฃผ์๊ฐ๊ฒฉ (level2) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ ํ๋ฒํธ ๋ชฉ๋ก (level2) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ชจ์๊ณ ์ฌ (level1) (2) | 2025.01.05 |