[프로그래머스]-입국심사

이정연·2022년 10월 13일
0

CodingTest

목록 보기
3/165

👋🏻 Intro

목표 시간: 100분
마감 시각: 02:28
제출 시각: 02:58

저도 공항에 들릴 때면 항상 입국 심사를 하고는 했는데요.
요새 취업준비 때문에 바빠 해외 여행을 못 갔네요. 😭
아쉬운 마음을 뒤로 한 채 문제를 풀어보았습니다.

👨🏻‍💻 CODE

def solution(n, times):
    answer = 0
    left = 1
    right = max(times)*n

    # 이진탐색 , left>right가 되는 순간 이진탐색 종료
    while left<=right:
        mid = (left+right)//2
        count = 0 # mid 시간 동안 최대로 심사할 수 있는 인원
        for time in times:
            count += mid//time

            if count >= n: # n명을 심사할 수 있는지에 관심이 있으므로 for문 탈출
                break

        # 심사볼수 있는 인원이 n명 이상이다 --> 시간이 과잉되었다 --> max 시간 감소
        if count >=n:
            answer = mid
            right = mid-1
        # 심사볼수 있는 인원이 n명 미만이다 --> 시간이 모자르다 --> min 시간 증가
        else:
            left = mid+1
    return answer
profile
0x68656C6C6F21

0개의 댓글