728x90
220317
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.util.*; class Solution { public int solution(int[] scoville, int K) { PriorityQueue<Integer> pq = new PriorityQueue<>(); for(int i=0; i<scoville.length; i++){ pq.add(scoville[i]); } int answer = 0; while(pq.peek()<K){ if(pq.size()<=1) return -1; int min1 = pq.poll(); int min2 = pq.poll(); answer++; pq.add(min1+ 2*min2); } return answer; } } | cs |
우선순위큐 쓰면 쉬움
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int s : scoville)
pq.add(s);
int a, b;
while (pq.size() > 1) {
// System.out.println("피큐픽" +pq.peek());
if (pq.peek() >= K)
return answer;
a = pq.poll();
b = pq.poll();
// System.out.println(a+" "+b);
pq.add(a + 2 * b);
answer++;
}
if (pq.isEmpty())
return -1;
if (pq.peek() >= K)
return answer;
else
return -1;
}
|
cs |
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 디스크 컨트롤러 (힙) (0) | 2019.12.04 |
---|---|
프로그래머스 - 라면공장 (힙) (0) | 2019.12.04 |
프로그래머스 - 주식가격 (스택/큐) (0) | 2019.12.04 |
프로그래머스 - 쇠막대기 (스택/큐) (0) | 2019.12.04 |
프로그래머스 - 기능개발 (스택/큐) (0) | 2019.12.04 |