본문 바로가기

CodingTest/Level1

[연습] 코딩테스트- 예산

코딩테스트 연습

  • programmers.co.kr
  • 서머코딩/윈터코딩(~2018)

내 풀이는 아래와 같이 풀었는데, 시간초과 오류남.

from itertools import permutations
def solutions(b, budget):    
    tmp_result = []

    for x in range(len(b)+1)[1:]:
        p_list = list(permutations(b, x))
        # p_list = list(set([tuple(sorted(list(i))) for i in p_list]))
        for y in p_list:
            if sum(y) == budget:
                tmp_result += [len(y)]

    if len(tmp_list) == 0:
        return 0
    return max(tmp_result)

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

다음과 같이 하면 통과,

반응형