본문 바로가기

프로그래머스 알고리즘 문제/Level 1

프로그래머스 Level 1 - 예산

내 정답:

 

그리디 사용

def solution(d, budget):
    count = 0
    while True:
        if len(d) <= 0:
            break
        a = min(d)
        if budget < a:
            break
        else:
            d.remove(a)
            budget -= a
            count += 1
    return count

 

다른 사람들의 정답:

 

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