Level 1. 예산

Pear_Mh·2021년 6월 16일
0

Programmers-Level 1.

목록 보기
17/49

17. 예산

코딩테스트 연습 > Summer,Winter Coding(~2018) > 예산
https://programmers.co.kr/learn/courses/30/lessons/12982

문제 정리

Input value =

  • d: 부서별로 신청한 금액이 들어있는 리스트

  • budget: 예산

  1. d 내림차순 후,

  2. 반복문이 수행될 때 마다 budget에서 차감하며, cnt+=1

return cnt

제한 조건

ㆍ d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다.

ㆍ d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다.

ㆍ budget은 예산을 나타내며, 1 이상 10,000,000 이하의 자연수입니다.

풀이 방법 for-if

def solution(d,budget):
    cnt = 0
    d = sorted(d)
    for i in d:
        if i<=budget:
            budget-=i
            cnt+=1
    return cnt

### Code test
d,budget = [1,3,2,5,4],9
solution(d,budget)

다른 풀이 while

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

### Code test
d,budget = [1,3,2,5,4],9
solution(d,budget)    
profile
Beyond the new era.

0개의 댓글