https://school.programmers.co.kr/learn/courses/30/lessons/12982
Summer/Winter Coding(~2018)
def solution(d, budget):
answer = 0
for i in sorted(d):
if i <= budget:
budget -= i
answer += 1
else:
break
return answer
어렵지 않게 풀었다.
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
pop()
은 맨 뒤 원소를 꺼내고 그 원소를 삭제한다.
예시
d = [1,2,3,4,5]
print(d.pop())
print(d)
5
[1, 2, 3, 4]
sort로 오름차순 정렬을 먼저 수행한 후 가장 큰 요소들을 제거하다가
d의 총합이 budget보다 작아지면 반복을 멈추고 d의 길이를 return 했음
내가 한 코드와 반대로 돌렸다고 생각하면 될 듯함..