let output = solution(15);
console.log(output); // 4
입출력 예#1:
(1) 풀이 1
function solution(n) {
let count = 0;
let sum = 0;
for (let i = 1; i <= Math.floor(n / 2); ++i) {
for (let j = i; j <= Math.ceil(n / 2); ++j) {
sum += j;
if (sum === n) {
++count;
sum = 0;
break;
}
else if (sum > n) {
sum = 0;
break;
}
}
}
return count + 1;
}
(2) 풀이 2
function solution(n) {
let count = 0;
let sqrtN = parseInt(Math.sqrt(n));
for (let i = 1; i <= sqrtN; ++i) {
let j = n / i;
if (n % i === 0) {
if (i % 2 === 1) ++count;
if (j % 2 === 1 && j !== i) ++count;
}
}
return count;
}