프로그래머스 입국심사

DARTZ·2022년 5월 18일
0

알고리즘

목록 보기
63/135
def solution(n, times):
    answer = 0
    start = min(times)
    end = max(times) * n
    
    
    while start <= end:
        middle = (start + end) // 2
        temp = 0
        
        for t in times:
            temp += middle // t
            
        if temp < n:
            start = middle + 1

        else:
            answer = middle
            end = middle - 1
        
    return answer

times가 주어진다. 문제 해결 방법은 시간을 이분탐색으로 계산하는 방법인데 times에 입국 심사대가 몇개가 있던 시간에서 각 심사대의 걸리는 시간을 나눈 다음에 더하면 심사를 받을 수 있는 사람들의 수가 계산이 된다.

profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글