문제풀이/Programmers

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

서채리 2022. 2. 10. 17:47

[문제]

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

 

코딩테스트 연습 - 예산

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

programmers.co.kr

 

[풀이]

최대한 많은 부서에게 물품을 지원해야 하기 때문에 신청 금액이 적은 부서부터 지원을 해야 한다. 따라서 부서별 신청 금액 리스트를 오름차순으로 정렬한 뒤 예산이 리스트 원소 전체 합보다 적은 경우, 리스트의 마지막 원소를 삭제해주었다. 마지막으로 반복문 조건이 통과된 리스트의 길이를 반환해준다. 


[코드]

def solution(d, budget):
    d.sort()
    while budget < sum(d):
        d.pop()
    return len(d)