function solution(n, s) {
// 자연수의 개수가 합보다 크면 최대의 집합이 존재하지 않으므로 [-1]을 반환
if (n > s) return [-1];
// 각 원소들을 균등하게 분배하여 최대한 곱을 만드는 방식
// 각 원소들의 합을 자연수의 개수로 나눈 몫
const mid = Math.floor(s / n);
const answer = new Array(n).fill(mid);
// 나머지가 발생할 경우, 나머지만큼 일부 원소에 1을 더함
for (let i = 0; i < s % n; i++) {
// 원소들을 작은 숫자부터 정렬하기 위해 배열의 뒤에서부터 계산
answer[answer.length - 1 - i]++;
}
return answer;
}