[프로그래머스]소수찾기

해피데빙·2022년 7월 12일
0

코딩테스트

목록 보기
30/52
post-custom-banner
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;
}

내 풀이

function solution(n) {
    //1~n사이에 있는 소수의 개수 반환 
    function isPrime(m){ 
        if(m ===1)return false
        if(m === 2)return true
        if(m % 2 === 0)return false
        for(let i=3; i<=Math.sqrt(m); i=i+2){ 
        //짝수 위에서 처리했으니까
            if(m % i === 0)return false
        }
        return true
    }
    
    let answer=0; 
    
    for(let j=1; j<=n; j++){
        if(isPrime(j))answer++;
    }
    
    return answer;
    
}
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17
post-custom-banner

0개의 댓글