728x90
😉 아이디어
1. 이분탐색을 통해 모든 인원이 통과가능한 최적의 값을 탐색
2. _!시간 // 심사관의 처리시간!_의 합은 해당 시간 동안 처리 가능한 총 인원
😉 풀이
def solution(n, times):
answer = 0
left = 1
right = 1_000_000_000_000 * 1_000_000_000_000
while left <= right:
mid = left + (right - left) // 2
total = 0
# total: 해당시간 동안 처리가능한 인원
for time in times:
total += mid // time
# mid 시간 내에 모든 인원이 처리가능한 경우
if total >= n:
answer = mid
right = mid - 1
else:
left = mid + 1
return answer
✔️ 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43238