1. λ¬Έμ μ λνμ¬ π¦
(1) 쑰건 λΆμ π
- μ£Όμ΄μ§ λͺ¨λ μμμ μ€μ½λΉ μ§μκ° Kλ₯Ό λμ΄μ€ λκΉμ§ κ°μ₯ μ λ§€μ΄ λ μμμ ν©μΉλ€.
- μμμ ν©μΉλ 곡μμ λ€μκ³Ό κ°λ€.
μμ μμμ μ€μ½λΉ μ§μ = κ°μ₯ λ§΅μ§ μμ μμμ μ€μ½λΉ μ§μ + (λ λ²μ§Έλ‘ λ§΅μ§ μμ μμμ μ€μ½λΉ μ§μ * 2)
2. μ½λκ° λμ€κΈ°κΉμ§ π οΈ
KEY WORD: μ°μ μμ ν
- λ§΅κΈ° μ€λ¦μ°¨μμΌλ‘ μ€ μΈμ΄λ€.
- ν 맨 μμ μμμ΄ μ 체 μμ μ€ μ€μ½λΉ μ§μ μ΅μκ°μμΌλ‘ μ΄κ²μ΄ Kλ³΄λ€ λμΌλ©΄ λͺ¨λ μμμ΄ Kλ³΄λ€ μ§μκ° λλ€λ κ²μ΄λ€. (μ΄λ κ³μ° λ°λ³΅λ¬Έμ νμΆνλ€.)
- λ κ° λ½μμ ν©μΉλ€.
- μμΈ μ²λ¦¬:
- ν μμ μμμ΄ νλ μ΄νλ‘ λ¨μμΌλ©΄, λ μ΄μ μμμ ν©μΉ μ μμΌλ νμΆνλ€.
- νμΆνλλ°, μμμ μ€μ½λΉ μ§μκ° Kκ°κ° μλλ©΄
-1μΆλ ₯ νλ€.
3. μ½λ π
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
PriorityQueue<Integer> pq = new PriorityQueue<>((a,b) -> (a-b));
for(int now : scoville){
pq.add(now);
}
int cnt = 0;
while(pq.peek() < K){
if(pq.size() <= 1) return -1;
int first = pq.poll();
int second = pq.poll();
int mix = mix(first, second);
pq.add(mix);
cnt++;
}
return cnt;
}
public int mix (int first, int second){
return (first + second*2);
}
}
4. νΈλ¬λΈ μν or λ°°μ΄ μ π
0