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

문제

1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.

소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)

제한 조건

n은 2이상 1000000이하의 자연수입니다.

입출력 예

풀이

const isPrime = (n) => {
    for (let i = 2; i <= Math.sqrt(n); i++) {
      if (n % i === 0) {
        return false;
      }
    }
    return true;
} // 소수 구하는 함수


function solution(n) {
    let arr = [];
    for(let i=1;i<=n;i++){
        arr.push(i);
    }
    let newArr = arr.filter((e) => isPrime(e));
    return newArr.length-1; // 1도 포함된다. 1은 소수가 아니니까 숫자 하나를 빼준다.
}

소수를 찾는 문제. 실전에 나오면 빠르게 소수 찾기를 검색하자 ^^

좋은 웹페이지 즐겨찾기