코딩공부/프로그래머스 (python)

[프로그래머스] 예산 (Python)

CodingKwon 2022. 4. 3. 18:48

문제 링크 (Level 1)

https://programmers.co.kr/learn/courses/30/lessons/12982?language=python3 

 

코딩테스트 연습 - 예산

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

programmers.co.kr

 

나의 코드 (Python)

def solution(d, budget):
    sum = 0
    answer = 0

    for i in sorted(d):     # 필요로 하는 금액이 적은 순으로 정렬
        sum += i
        if sum <= budget:   # 예산을 넘지 않으면 카운팅
            answer += 1

    return answer

 

많은 부서에게 예산을 주려면 가장 적은 예산을 필요로 하는 부서에게 먼저 예산을 주면 된다.

따라서, 낮은 금액으로 정렬된 값을 순차적으로 더해서 예산을 넘지 않을 때까지 카운팅 하면 된다.