해당 문제의 경우 도오오오오오오오저히 제 머리로는 알기가 어렵고, 이게 0레벨의 문제가 맞나 싶기도 해서 구글링을 해봤는데 여기서 한 참고에 의하면, 중간값을 구한 후 그 중간값을 주어진 num으로 나눈 값으로 시작 수를 구할 수 있다고 하더군요.
참... 이 정도면 문제를 내는 분들은 대단하시다는 마음이 들었습니다.
아무튼 이번 문제의 경우 테스트 케이스 3(num = 4, total = 14)를 예를 들어 설명을 해보겠습니다.
function solution(num, total) { let result = [] // 가운데 값 const avg = Math.ceil(total / num) // 이 구간에서 가운데 값을 구할 때 14/4의 값인 3.5가 반환되는데, 이때 ceil 메서드에 의해 반올림이 되어 4가 중간값으로 반환됩니다. const x = Math.trunc(num / 2) // 그리고 x의 값은 시작 번호를 구할 값을 의미하는데, 검색을 해보니 x는 시작점이 중간값으로부터 떨어져 있는 정도를 의미한다고 합니다. const startNum = avg - x // 중간값(avg)에서 x(벌어져 있는 정도)를 빼면 시작점을 반환받을 수 있습니다. for(i=0; i<num; i++){ // 숫자 갯수만큼 for문을 돌리면서 result 배열에 startNum을 후순위로 증가시키며 result에 push 해줍니다. result.push(startNum++) } return result }