[Algorithm] 백준 1978 (javaScript)

swing·2023년 6월 16일
0

[Algorithm]

목록 보기
23/96

문제

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

입력

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

출력

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

문제 해결

제곱근까지 순회하면 시간복잡도를 줄일 수 있다.

const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");
const arr = input[1].split(" ");

let answer = 0;

for (let i = 0; i < arr.length; i++) {
  if (Number(arr[i]) == 1) continue;

  let cnt = 0;
  for (let j = 2; j <= Math.sqrt(Number(arr[i])); j++) {
    if (Number(arr[i]) % j == 0) cnt++;
  }
  if (cnt == 0) answer++;
}

console.log(answer);

BOJ 1978

profile
if(기록📝) 성장🌱

0개의 댓글