728x90
ㄴ문제를 보고 1~n까지의 수중에서 소수의 개수를 구한 후, 이를 빼면 어떨가란 생각을 했다.
에라토스테네스의 체 방식이 떠올라서 해당 방식으로 소수의 개수를 구한 후, 전체에서 빼 주었다.
배열을 2부터 n까지 잡기도 했고 n이 3이하면 답이 0이므로 이를 예외처리해주었다.
function solution(n) {
if (n<4) return 0
let lst = new Array(n-1).fill().map((v,i) => i+2)
let cnt = 0
while (lst.length > 0) {
const tmp = lst.shift();
cnt ++;
lst = lst.filter((el) => el%tmp !==0 )
}
console.log(cnt)
return n- cnt -1;
}
728x90
'FrontEnd > 프로그래머스' 카테고리의 다른 글
소인수분해 (0) | 2023.02.07 |
---|---|
[JS] 팩토리얼 (0) | 2023.02.04 |
[JS] 주사위의 개수 (0) | 2023.02.04 |
[JS] 배열 회전시키기 (0) | 2023.02.04 |
[JS] 공던지기 (0) | 2023.02.02 |