💡코딩테스트/프로그래머스

[프로그래머스 | 파이썬 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