산술 기하 평균을 생각하면 쉽게 풀 수 있다.
여기서 중요한 부분은 a1=a2=...=an일 때만 등호가 성립한다는 조건이다.
다시 말해, 합이 s인 여러개의 수들이 크기가 비슷할수록 곱이 커진다는 뜻.
따라서 최대한 숫자들을 비슷하게 맞추기 위해 길이가 n인 리스트의 각 항을 s//n으로 깔아놓고
나머지를 각 원소에 하나씩 더한 리스트가 정답이 된다.
def solution(n, s):
a,b = divmod(s,n)
if s > n:
answer = [a]*n
for i in range(b):
answer[i] += 1
return sorted(answer)
return [-1]