function solution(n) {
let ans = [];
for(let i = 1; i <= n; i++){
let measure = [];
for(let j = 1; j <= n; j++){
if(i % j === 0){
measure.push(j);
}
if(measure.length >= 3){
ans.push(i);
break;
}
}
}
return ans.length;
}
굉장히 직관적으로 작성한 코드다. 문제를 그대로 코드로 옮긴 느낌..?
measure
는 약수를 넣어놓는 배열이다.
n
이 1씩 증가할 때마다 해당 숫자에 대하여 약수 판별을 시작하고,
measure
배열의 길이가 3 이상이 되는 숫자는 ans
배열에 넣는다.
합성수의 개수를 구하는 것이 목표이므로, ans
배열의 길이를 반환한다.