🧠𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/💙프로그래머스
[Summer/Winter Coding(~2018)/Level1👶🏻] 예산
안오늘
2021. 7. 6. 07:31
1. 문제설명
https://programmers.co.kr/learn/courses/30/lessons/12982
2. 나의 풀이
from itertools import combinations
def solution(d, budget):
answer = 0
combi = []
for i in range(1, len(d)+1):
combi += combinations(d, i)
for c in combi:
if sum(c) <= budget:
answer = len(c)
return answer
조합을 구한뒤 한번에 sum과 len 내장함수를 이용해 하려고 했다.
테스트케이스는 충족하였으나 몇개는 통과하고 몇개는 시간초과가 떴다.
3. 다른 사람의 풀이
def solution(d, budget):
answer = 0
d.sort()
for i in range(len(d)):
if d[i] <= budget:
answer += 1
budget -= d[i]
else:
break
return answer
이렇게 먼저 정렬을 하고, 예산에서 빼면서 하면 더 간단했다.