본문 바로가기
코딩공부/프로그래머스 (python)

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

by CodingKwon 2022. 4. 3.

문제 링크 (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

 

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

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

 

 

 

댓글