DataScience trainee

Programmers - 입국심사

입국심사


개요

  • 이번 포스팅은 파이썬 코딩테스트 연습문제 풀이입니다.
  • Programmers 에 공개된 예제이며 링크는 아래와 같습니다.

https://programmers.co.kr/learn/courses/30/lessons/43238


코드

def solution(n, times):
    times = sorted(times)
    lo = 0
    hi = n * times[-1]
    while lo <= hi:
        mid = int((lo + hi) / 2)
        count = 0
        for time in times:
            count += mid // time
        if count >= n:
            answer = mid
            hi = mid - 1
        elif count < n:
            lo = mid + 1

    return answer

마치며

이번 포스팅은 Programmers에 존재하는 파이썬 코딩테스트 이분탐색 예제 중 레벨 3에 해당하는 문제입니다.