[프로그래머스]소수 찾기 (javascript,자바스크립트)

스카치·2023년 3월 8일
0
post-thumbnail

문제

풀이 1

function solution(n) {
    let answer = 0;
    const isPrime = (n) => {
        for (let j = 2; j <= Math.ceil(Math.sqrt(n)); j++) {
            if (n % j === 0) {
                return 0;
            }
        }
        return 1;
    }

    for (let i=2; i<=n; i++) {
        answer += isPrime(i)
    }
    
    return answer+1
}

풀이 2

function solution(n) {
    const s = new Set();
    for(let i=1; i<=n; i+=2){
        s.add(i);
    }
    s.delete(1);
    s.add(2);
    for(let j=3; j<Math.sqrt(n); j++){
        if(s.has(j)){
             for(let k=j*2; k<=n; k+=j){    
                s.delete(k);
             }
        }
    }
    return s.size;
}

0개의 댓글