💡코딩테스트/프로그래머스
[프로그래머스 | 파이썬 python] 입국심사
두_두
2023. 5. 20. 23:30
이분탐색
🌏 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👽 풀이
제한 사항에 밑도 끝도 없이 큰 수가 나오면 이분탐색이다. 해야한다

def solution(n, times):
answer = 0
start, end = 0, max(times) * n
while start <= end:
mid = (start + end) // 2
total = 0 # mid분동안 심사받은 사람 수
for time in times:
total += mid // time
if total >= n:
break
if total >= n:
answer = mid
end = mid-1
elif total < n:
start = mid+1
return answer
728x90