[Python][프로그래머스][Level3] 최고의 집합

[Python][프로그래머스][Level3] 최고의 집합

코드

def solution(n, s):
    ans,last=divmod(s,n)
    answer=[ans for _ in range(n-last)]+[ans+1 for _ in range(last)]
    return answer if ans else [-1]

최고의 집합의 원소들은 서로 최소의 차이를 가지고 있어야 한다.

따라서 s를 n으로 나눠준 다음에

몫과 같은 n개의 원소를 가진 배열을 만들고

나눈 나머지 수 만큼 배열의 원소들에 1씩 더해주면 된다.

Discussion and feedback