자바스크립트 코딩테스트

프로그래머스 Level 1 - 소수 찾기 (Javascript)

준벨롭 2023. 12. 2. 10:40

문제

답안

function solution(n) {
  const sieve = [];

  for (let i = 2; i <= n; i++) {
    sieve[i] = i;
  }

  for (let j = 2; j <= n; j++) {
    if (sieve[j] === 0) continue;
    for (let k = j+j; k <= n; k += j) {
      sieve[k] = 0;
    }
  }

  return sieve.filter((el) => el).length;
}

후기

에라토스테네스의 체를 이용한 풀이이다.

몰라서 인터넷을 찾아봤다.

728x90