https://programmers.co.kr/learn/courses/30/lessons/42626
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.Queue;
import java.util.PriorityQueue;
class Solution {
public int solution(int[] scoville, int K) {
Queue<Integer> queue = new PriorityQueue<>();
for (int food : scoville) queue.offer(s);
int answer = 0;
while (queue.peek() < K) {
answer += 1;
if (queue.size() < 2) return -1;
int newFood = queue.poll() + queue.poll() * 2;
queue.offer(newDish);
}
return answer;
}
}
|
cs |
1. scovile에는 값이 들어가있다. queue는 우선순위 queue로 선언을 한다.
2. 우선순위 queue에 값을 넣는다.
3. K보다 큰 값을 만들어야하니, queue가 K 보다 작은 값을 찾는다.
4. queue에 들어있는 값이 K보다 커질때까지 answer count를 증가시킨다.
5. 스코빌 지수는 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)
6. queue에 값을 넣는다.