백준 1978번

정하윤·2022년 8월 7일
0
post-custom-banner

이번 백준문제 1978번은 소수를 찾는문제여서 보자마자 2중for문을 쓰면되겠다 생각을 했습니다.
그래서 저는


let fs = require("fs");
let input = fs.readFileSync("inp.txt").toString().split("\n");

let n = Number(input[0]);
let numbers = input[1].split(" ").map((element) => Number(element)); //배열안에 입력값하나씩 하나씩넣어줌
let answer = 0;
for (let i = 0; i < n; i++) {
  if (numbers[i] === 1) {
    continue;
  } else {
    let count = 0;
    for (let j = 2; j < numbers[i]; j++) {
      if (numbers[i] % j === 0) {
        count++;
      }
    }
    if (count === 0) {
      answer++;
    }
  }
}
console.log(answer);
  1. 1은 소수가 아니므로 countine를 써줍니다.
  2. 그리고 입력값에 2부터 그입력값-1까지 나머지가 0일경우에 count를 1로올려줍니다.
  3. count해서 1이된수는 소수가아니고 그대로 0인수만 소수이므로 count가 0인값을 answer++해줍니다. 그래서 answer의 값이 소수의 개수입니다.
post-custom-banner

0개의 댓글