반응형
문제설명
연속한 자연수들로 숫자 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;
}