문제가 굉장히 길지만 사실 가만히 살펴보면 각 팀별 신청한 예산목록 리스트인 d와 주어진 예산인 budget을 두고 budget의 범위안에서 얼마나 많은 팀의 신청 예산 누적합이 포함될 수 있는지 따져보면 된다. 필자는 계산을 순차적으로 편하게 하기위해 정렬시키고, 순차적으로 누적합을 구하면서 budget보다 커질 경우 반복을 끝내면 된다.
def solution(d, budget):
answer = 0
tmp = 0
d.sort()
for target in d:
tmp += target
if budget < tmp:
break
answer += 1
return answer
'알고리즘 & 코딩테스트 > 코딩테스트' 카테고리의 다른 글
Programmers Lv.1 "시저 암호" (0) | 2023.06.01 |
---|---|
Programmers Lv. 1 "삼총사" (0) | 2023.05.31 |
Programmers Lv.1 "이상한 문자 만들기" (0) | 2023.05.24 |
Programmers Lv. 1 "3진법 뒤집기" (0) | 2023.05.24 |
Programmers Lv.1 "같은 숫자는 싫어" (0) | 2023.05.24 |