-/프로그래머스

#1. 소수 찾기 (에라토스테네스의 체)

맹정 2023. 2. 25. 01:40

https://school.programmers.co.kr/learn/courses/30/lessons/12921

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

프로그래머스에서 소수 문제를 풀다가, 처음 푼 코드는 시간 초과로 통과하지 못했다. 그러다가, 친구가  "에라토스테네스의 체"로 구현이 가능하다고 알려주어 찾아보게 되었다. 다음에도 잊지않도록 블로그에 기록 하려고 한다.


소수 문제는 무조건 "에라토스테네스의 체" 잊지말자!

let solution = (n) => {
	let arr = Array(n+1).fill(true).fill(false,0,2);
    
    for(let i = 2; i * i <= n; i++){
    	if(arr[i]){
        	for(let j = i * i; j <= n; j = j+i){
            	arr[j] = false;
            }
        }
    }
	return arr.filter(e => e).length; 
}