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

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr


풀이 과정

최대한 많은 부서의 물품을 구매해 주려면 가장 적은 예산을 제출한 부서부터 결제해주면 된다.

 

그리디 방식으로 가장 작은 예산을 제출한 부서부터 결제해주면서 budget값을 체크해주고 answer를 늘려나가자.

 

 


소스 코드

def solution(d, budget):
    answer = 0
    d.sort()
    for department in d:
        if budget - department >= 0:
            answer += 1
            budget -= department
        else:
            break

    return answer

+ Recent posts