728x90
연속된 수의 합 알고리즘에 대해 알아보자!
Q. 연속된 수의 합
문제 설명
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
제한 사항
- 1 ≤ num ≤ 100
- 0 ≤ total ≤ 1000
- num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.
입출력 예
num | total | result |
3 | 12 | [3, 4, 5] |
5 | 15 | [1, 2, 3, 4, 5] |
4 | 14 | [2, 3, 4, 5] |
5 | 5 | [-1, 0, 1, 2, 3] |
입출력 예 설명
- 입출력 예 #1
num = 3, total = 12인 경우 [3, 4, 5]를 return합니다. - 입출력 예 #2
num = 5, total = 15인 경우 [1, 2, 3, 4, 5]를 return합니다. - 입출력 예 #3
4개의 연속된 수를 더해 14가 되는 경우는 2, 3, 4, 5입니다. - 입출력 예 #4
설명 생략
solution.js
function solution(num, total) {
let answer = [];
const start = Math.ceil(total / num) - Math.floor(num / 2)
const end = Math.floor(total / num) + Math.floor(num / 2)
for(let i = start; i <= end; i++){
answer.push(i)
}
return answer;
}
728x90
반응형
'TIL > 알고리즘' 카테고리의 다른 글
알고리즘 - 정수 삼각형 (0) | 2023.08.24 |
---|---|
알고리즘 - 피보나치 수 (1) | 2023.08.24 |
알고리즘 - 다음에 올 숫자 (0) | 2023.08.24 |
알고리즘 - 가장 큰 수 (0) | 2023.08.24 |
알고리즘 - 이진 변환 반복하기 (0) | 2023.08.23 |
댓글