코딩문제풀이/프로그래머스

[Python] 입국심사

코딩하는 포메라니안 2021. 9. 1. 20:26

1. 문제

 

 

 

2. 풀이 과정

def solution(n, times):
    
    def b_search(s, e):
        while s <= e:
            m = (s+e)//2
            #(전체 걸린 시간)//(각 times) = (각 심사관이 맡은 사람 수)
            c = 0
            for t in times:
                c += m//t
                
            if c < n:
                s = m + 1
            else:
                e = m - 1
            #c==n이면 왼쪽 구역 선택
            #이유 :c==n을 만족시키는 시간들 중에 최소를 구해야 함
        return s
            
    return b_search(min(times), (n//len(times)+1)*max(times))

'코딩문제풀이 > 프로그래머스' 카테고리의 다른 글

[Python] 순위  (0) 2021.09.03
[Python] 가장 먼 노드  (0) 2021.09.02
[Python] 도둑질  (0) 2021.09.01
[Python] 여행경로  (0) 2021.08.31
[Python] 등굣길  (0) 2021.08.31