본문 바로가기
Algorithm/프로그래머스

Level2. 프로그래머스 숫자의 표현- JavaScript

by 강깅꽁 2020. 11. 6.

문제설명

연속한 자연수들로 숫자 n을 표현해야 한다. 

n이 9라고 할때

2 + 3 + 4 = 9

4 + 5 = 9

9 = 9 라고 표현할 수 있다.

 

문제 풀이

어떤 n 보다 작은 수를 시작하는 자연수로 잡고 연속한 자연수를 만들 때 n이 되는지 안되는지 판별하는 함수를 만들고

제일 작은 수 1부터 n까지 순회하면서 해당 함수의 파라미터로 시작으로 하는 숫자를 넣으면서 진행 판별

 

function solution(n) {
    var answer = 0;
    function re(current, sum){
        if(sum === n) return true;
        if( sum > n) return false;
        return re(current+1, sum+current);
    }
    for( let i = 1; i <= n; i++){
        if( re(i, 0) ) answer++; 
    }
    return answer;
}