약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n
이 매개변수로 주어질 때 n
이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
n
≤ 100n | result |
---|---|
10 | 5 |
15 | 8 |
입출력 예 #1
입출력 예 #1
gg
function solution(n) {
return Array(n).fill().map((_, i) => i + 1).filter((i) => {
let cnt = 0;
for (let j = 1; j <= i; j++) {
if (i % j === 0) cnt++;
}
return cnt >= 3;
}).length;
}
function solution(n) {
let dp = new Array(n+1).fill(1)
for(let i = 2 ; i <= n ; i++){
if(dp[i]){
for(let j = 2 ; i*j <= n ; j++){
dp[i*j] = 0
}
}
}
return dp.filter(el => el === 0).length
}
function solution(n) {
let count = 0;
let tar = 3;
while (tar++<n) {
for (let i = 2; i <= Math.sqrt(tar); i++) {
if (tar%i===0) {
count++;
break;
}
}
}
return count;
}