Programmers - 최고의 집합

SJ0000·2022년 6월 15일

문제 링크

처음 든 생각은 최대한 균등하게 배분하는 게 곱이 가장 클 것이라고 생각했다.
메모이제이션을 사용하는 방법도 있을 것 같았지만 d[n][s] 로 하기에는 s의 범위가 1~1억이기 때문에 불가능하다.
따라서 처음 생각한대로 풀었다.

def solution(n, s):

    x = s//n
    if x == 0:
        return [-1]

    mod = s % n

    answer = [x for i in range(n-mod)] + [x+1 for i in range(mod)]

    return answer
profile
잘하고싶은사람

0개의 댓글