주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
주어진 수들 중 소수의 개수를 출력한다.
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
// let input = ['4', '1 3 5 7'];
let N = parseInt(input[0]);
let arr = input[1].split(' ').map(n => parseInt(n));
let answer = 0;
function isPrime(num){
if(num===1) return false;
for(let i=2; i<parseInt(num); i++){
if(num%i===0) return false;
}
return true;
};
for(let i=0; i<N; i++){
if(isPrime(arr[i])) answer++;
};
console.log(answer);
소수판별 function에서 범위를 parseInt(Math.sqrt(num)로 주는게 보편적이지만 주어진 입력값이 작아서 parseInt(num)으로 설정했다