[JS] 백준 1978 소수 찾기

Hadam Cho·2021년 4월 26일
1

Algorithm

목록 보기
26/32

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.


입력

  • 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

출력

  • 주어진 수들 중 소수의 개수를 출력한다.

입출력 예제

4
1 3 5 7

3


소스 코드

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const N = Number(input.shift());

// 소수 판별 함수
function isPrime(n) {
  if (n === 2 || n === 3) {
    return true;
  }

  if (n <= 1 || n % 2 === 0) {
    return false;
  }

  for (let i = 3; i <= Math.sqrt(n); i += 2) {
    if (n % i === 0) {
      return false;
    }
  }

  return true;
}

const numbers = input[0].split(' ').map(n => Number(n));
let count = 0;
for (let i = 0; i < N; i++) {
  if (isPrime(numbers[i])) {
    count += 1;
  }
}

console.log(count);
profile
(。・∀・)ノ゙

0개의 댓글