문제 링크 (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
많은 부서에게 예산을 주려면 가장 적은 예산을 필요로 하는 부서에게 먼저 예산을 주면 된다.
따라서, 낮은 금액으로 정렬된 값을 순차적으로 더해서 예산을 넘지 않을 때까지 카운팅 하면 된다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 부족한 금액 계산하기 (Python) (0) | 2022.04.07 |
---|---|
[프로그래머스] 나머지가 1이 되는 수 찾기 (Python) (0) | 2022.04.06 |
[프로그래머스] 최소직사각형 (Python) (0) | 2022.04.03 |
[프로그래머스] 같은 숫자는 싫어 (Python) (0) | 2022.03.31 |
[프로그래머스] 두 개 뽑아서 더하기 (Python) (0) | 2022.03.30 |
댓글