0611 TID

noway·2024년 6월 11일

TID-2024

목록 보기
48/53

연속된 수의 합
문제 설명
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.

제한사항
1 ≤ num ≤ 100
0 ≤ total ≤ 1000
num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.
입출력 예

numtotalresult
312[3, 4, 5]
515[1, 2, 3, 4, 5]
414[2, 3, 4, 5]
55[-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

설명 생략

function solution(num, total) {
    var answer = [];
    for(let i=0; i<num; i++){
        answer.push(i)
    }
    let sum = answer.reduce((acc, cur) => acc + cur, 0)
    while (sum !== total){
        if (sum>total){
            sum = 0;
            for(let i=0; i<answer.length; i++){
                answer[i] = answer[i] + (-1)
            }
            sum = answer.reduce((acc, cur) => acc + cur, 0)}
        else if(sum<total){
            sum = 0;
            answer = answer.map(num => num + 1);
            sum = answer.reduce((acc, cur) => acc + cur, 0)}
    }
    return answer;
}

0개의 댓글