알고리즘/프로그래머스

[파이썬] 프로그래머스_예산

딱따구르리 2022. 2. 16. 17:04
728x90
반응형

문제

 

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

 

코딩테스트 연습 - 예산

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

programmers.co.kr


 

해설

 

이 문제는 예산이 정해진 회사에서 최대한 많은 부서의 물품을 구매해주도록 하는 문제이다.

최대한 많은 부서의 물품을 구매하려면 우선 정렬을 해주는게 편하다.

 

만약 신청 금액의 합이 예산과 같다면 for문을 돌지 않아도 바로 값이 나오도록 해준다.

같지 않으면 for문을 돌며 지원 가능한 부서의 수를 구해주면 된다.


코드

 

-파이썬

def solution(d, budget):
    answer = 0
    
    d.sort()
    
    if sum(d) == budget:
        answer = len(d)
        return answer
    
    for i in d:
        if budget - i >= 0:
            answer += 1
            budget -= i
        else:
            break
    
    return answer
728x90
반응형