본문 바로가기

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

프로그래머스 - 예산[Python]

반응형

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

 

코딩테스트 연습 - 예산

국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그��

programmers.co.kr

def solution(budgets, M):

    mins, maxs = 0, max(budgets)
    answer = 0
    while mins<=maxs:
        mid = (mins+maxs) // 2
        temp = [i if i < mid else mid for i in budgets]
        
        if sum(temp) > M:
            maxs = mid-1
        elif sum(temp) <= M:
            answer = mid
            mins = mid+1
    return answer

 

* while 조건을 저렇게 작성한 이유는 if와 elif 가 같아지는 순간을 잡기 위한 것

반응형