dlehdanakf / Codingtest-Study

알고리즘 코딩테스트 토막지식 정리
1 stars 0 forks source link

BinarySearch #6

Open dlehdanakf opened 4 years ago

dlehdanakf commented 4 years ago

개요

예시

입국심사

해결과정

function solution(n, times) {
    times.sort((a, b) => b - a);
    const { length } = times;
    let left = 1, right = times[0] * n;
    let answer = right;

    while(left <= right) {
        let middle = Math.floor((left + right) / 2), count = 0;
        for(let i = 0; i < length; i++) {
            count += Math.floor(middle / times[i]);
        }

        if(count >= n) {
            answer = Math.min(answer, middle);
            right = middle - 1;
        } else {
            left = middle + 1;
        }
    }

    return answer;
}