function solution(num, total) {
const sum = num * (num - 1) / 2;
const minNum = (total - sum) / num;
return Array.from({length: num}, (_, i) => i + minNum);
}
Array.from
ES6에 도입된 Array.from
메서드는 유사 배열 객체array-like object 또는 이터러블 객체iterable object를 인수로 전달받아 배열로 변환하여 반환
// 유사 배열 객체를 반환하여 배열 생성
Array.from({ length: 2, 0: 'a', 1: 'b' }); // (2) ['a', 'b']
// 이터러블을 반환하여 배열 생성
// 문자열은 이터러블이다.
Array.from('string'); // (6) ['s', 't', 'r', 'i', 'n', 'g']
Array.from
의 두 번째 인수로 콜백 함수를 전달해 값을 만들면서 요소를 채울 수 있다.// length만 존재하는 유사 배열 객체를 전달하면 undefined를 요소로 채운다.
Array.from({ length: 3 }); // (3) [undefined, undefined, undefined]
// 두 번째 인수로 전달한 콜백 함수의 반환값으로 구성된 배열을 반환
Array.from({ length: 3 }, (_, i) => i); // (3) [0, 1, 2]