프로그래머스 0단계: 정답률 53% - 연속된 수의 합

안녕하세요.
오늘은 이어서 정답률 53% 문제를 풀어보겠습니다.

function solution(num, total) {
    var answer = [];
    if(num>=total){
        if(total !== 0){
            for(let i = -total;i<=total;i++){
                let tot = 0;
                for(let j=i;j<i+num;j++){
                    tot+=j;
                }
                if(tot === total){
                    for(let j=i;j<i+num;j++){
                        answer.push(j)
                    }
                    return answer;
                }
            }
        }
        else{//0일때
            answer.push(0);
            for(let i=1;i<=parseInt(num/2);i++){
                answer.push(i);
                answer.unshift(-i);
            }
            return answer
        }
    }
    else{//num<total
        for(let i = total;i>0;i--){
            let tot = 0;
            for(let j=i;j>i-num;j--){
                tot+=j;
            }
            if(tot === total){
                for(let j=i;j>i-num;j--){
                    answer.push(j)
                }
                return answer.reverse();
            }
        }
    }
}

저는 이 문제에서 total이 0일때를 고려하지 못해 첫 시도에서 실패했습니다.

(추가!!)

function solution(num, total) {
    let min = Math.ceil(total/num-num/2);
    return new Array(num).fill(0).map(x=> min++)
}