본문 바로가기
알고리즘/프로그래머스 level 3

[파이썬🐍] 프로그래머스 : 입국심사

by 코딩개미뚠뚠 2021. 6. 25.
반응형

이분탐색으로 풀었다.

이분탐색 문제는 거의 접해보지 못해서 처음에 어떻게 풀어야 하는지 모르고 어려웠다.

left와 right를 어떤 수로 해야하는 지가 가장 중요한 것 같다.

 

def solution(n, times):
    answer = 0
    left = 1
    right = max(times) * n
    while left < right :
        mid = (left + right) // 2 
        total = 0 #총 심사 받는 사람 수
        for t in times : total += mid // t
        if total >= n : right = mid #심사 받는 사람이 n보다 많거나 같으면 범위 작은 수쪽으로 줄이기
        else : left = mid + 1#심사 받는 사람이 n보다 적으면 범위 큰 수쪽으로 줄이기
    answer = left
    return answer
반응형

댓글