프로그래머스 LV1 예산(Summer/Winter Coding(~2018))

프로그래머스 LV1 예산(Summer/Winter Coding(~2018))

2021, Apr 12    

프로그래머스 lv1 예산(Summer/Winter Coding(~2018))

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12982


출처: 프로그래머스 코딩 테스트 연습 https://programmers.co.kr/learn/challenges


풀이

## 내 풀이

# sum을 반복하지 않고 한번 더한거에서 제일 큰거를 하나씩 빼갔다. 
# 그리고 맨 마지막에 전체 d 길이에서 뺀 갯수만큼 빼면 길이를 구할 수 있다.

def solution(d, budget):
    d = sorted(d)
    sum_d = sum(d)
    i = 0
    while budget < sum_d:
        i+=1
        sum_d -= d[len(d)-i]
    return len(d) - i

>>>3

# 다른 사람 풀이. 나랑 생각은 완전 똑같이 했는데 while 문 쓰는 법이 달라서 더 짧고 간결해보임

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