연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
function solution(num, total) {
let answer = [];
const startNumber = Math.ceil(total / num) - Math.floor(num / 2);
for (let i = 0; i < num; i++) {
answer.push(startNumber + i);
}
return answer;
}
📍 코드 해석
: 배열의 시작 숫자를 확인한 뒤 num의 수만큼 반복문을 돌렸다.
1. 배열의 중간 값 구하기
total / num을 해주었고, 정수로 떨어지지 않을 경우를 대비해 올림해 주었다.
total = 14, num = 4 일 때
total / num = 3.5
Math.ceil(total/num) = 4
result = [2, 3, 4, 5]
2. 배열의 시작 숫자 확인하기
num / 2를 한 뒤, 정수로 떨어지지 않을 경우를 대비해 내림했다.
total = 12, num = 3 일 때
num / 3 = 1.5
Math.floor(num/3) = 1
3. num의 수만큼 반복문