μ€λ νμλ€κ³Ό λλ§μ 첫 μ€ν°λλ₯Ό μ§ννλ€.
λ΄κ° μ€λΉν λ΄μ©μ λ°ννλ κ²μ΄ λ무 μ€λλ§μ΄λΌ μ΄μ§ λ¨λ Έλ€.
μμ§ λΆμ‘±νμ§λ§, κ·Έλλ μ΄μ¬ν μ€λΉν΄μ λ°νλ₯Ό μ λλ§μΉ λμκ² μμ μΉμ°¬μ 보λΈλ€~π (λλΌλ λλ₯Ό μΉμ°¬ν΄μΌνλ μμ¦)
νμλ€ μμ μ λ§ μ΄μ¬ν μ€λΉν΄μ€μ λ°°μκ°λκ² λ§μλ μκ°μ΄μλ€. κ·Έλμ κ²°λ‘ μ,,, κ°μλ₯Ό λ§μ΄ λͺ»λ€μλ€λ μ¬μ€...πΉ
μ£Όλ§ 48μκ° λμ 빑곡ν κ²μ΄λ€. (λ―Έλμ λμκ² λ§‘κΈ°κΈ°)
μ€ν°λλ‘ λ€μν μ£Όμ λ€μ λ°°μ λ€. λ³΅μ΅ νμ!!
1. λ©λͺ¨λ¦¬ λͺ¨λΈ
2. μ€ν 컨ν μ€νΈ
3. μ€μ½ν (λμ μ£Όμ )
4. ν΄λ‘μ
5. λκΈ°μ λΉλκΈ°
6. DOM μ‘°μ
7. λΈλΌμ°μ λ λλ§
8. μ΄μ§ νμ - κ°μ
μ€λμ κ°μλ₯Ό λ£κ³ μ€μ΅ λ¬Έμ λ₯Ό νμ΄λ΄€λ μ΄μ§ νμμ λν΄ λ€λ€λ³΄κ³ μ νλ€.
νλ‘κ·Έλλ¨Έμ€ μ κ΅ μ¬μ¬ λ¬Έμ λ§ν¬
function solution(n, times) {
times.sort((a,b) => b-a)
let left = 1;
let right = times[times.length-1] * n;
let answer = right;
while (left <= right){
let count = 0;
let mid = Math.floor((left+right)/2);
times.forEach(value => {
count += Math.floor(mid/value)
if (count >= n){
answer = Math.min(mid, answer);
}
})
if (count < n){
left = mid+1;
}else{
right = mid-1;
}
mid = Math.floor((left+right)/2);
}
return answer;
}
λλμ΄ ν μ£Όκ° μ§λκ°λ€. λκ° 1μκ° κ°μ ν μ£Όμλ κ² κ°λ€.
λ°°μκ³Ό μ’μ μ μ°μμ΄μλ κ² κ°λ€. μ΄λ¬ν μκ°λ€μ΄ μμ¬ μ΄λ μκ°
μ±μ₯μ λͺ¨λ¨ΌνΈκ° μ€κΈΈ λ°λΌλ³Έλ€. μ€λμ κ°μλ₯Ό μ’ λ λ£κ³ , μ£Όλ§μ ν μΌλ€μ μ 리νκ³ μ μμ μ΄λ€. νμ΄ν
!!!