프로그래머스 연습문제 - 숫자의 표현 반복하기(Level2, JS)
function solution(n) {
sum = 0;
answer = 0;
max = n % 2 == 0 ? parseInt(n / 2) : parseInt( n / 2 )+ 1;
for(let i = 1; i <= max ; i++){
sum = 0;
for (let j = i; j <= max; j++) {
sum += j;
if (sum === n) {
answer++;
break;
}
else if (sum >= n) { break;}
}
}
return n === 1 ? answer : answer + 1;
}
문제해결 순서
단, n===1일 경우는 1 = 1 만 존재하므로 더하기 1를 할 필요가 없다.