최대한 많은 부서를 지원해줘야한다
는 뜻은 적은 예산을 가진 팀들을 먼저 지원해주면 된다
와 같다고 생각해서 d
를 오름차순으로 정렬한 뒤 budget
에서 빼주는 식으로 코드를 짰다.budget
이 음수가 되면 빠져나오면 끝def solution(d, budget):
answer = 0
d.sort()
for i in d:
budget -= i
if budget < 0:
break
answer += 1
return answer
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
정렬을 하고 신청한 지원금의 합이 예산보다 작아질 때 까지 마지막 원소를 pop
해주는 방식
그러고 남은 d
의 개수를 구해주면 지원받는 부서니까 len(d)
를 리턴.. 신박하다