title: "[프로그래머스] 입국심사 Python 파이썬 해설 (Level 3) - 이도훈"
cleanUrl: "programmers/43238"
description: "프로그래머스 Level 3 문제 [입국심사]의 풀이를 정리합니다."
def solution(n, times):
# 어쨌든 각 심사관은 안 쉬고 꽉꽉 채워서 받아야 한다.
# 따라서 시간이 T 주어진다면, 전체 처리 가능한 사람 수는
# sum(T//t for t in times) 이다.
# 이 값이 n이 되는 가장 작은 T를 0~n*T 범위 내에서 구하자.
times.sort()
l, r = 0, n * times[-1]
while l < r:
mid = (l + r) // 2
p = sum(mid//t for t in times)
# 처리 가능한 사람 수가 더 많거나 같으면 시간을 줄여본다.
if p >= n:
l, r = l, mid
# 처리 가능한 사람 수가 적어서, 시간이 더 필요하다.
else:
l, r = mid + 1, r
return l
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges