코딩문제풀이/프로그래머스
[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))