컴퓨터를 공부하고자 마음먹은지 N일차

[206일차]boj1929 nodejs 본문

🧠PS

[206일차]boj1929 nodejs

졸린새 2021. 4. 7. 23:28
728x90

백준 1929번 소수 찾기

문제링크

CODE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const readline = require("readline");
 
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});
rl.on("line"function (line) {
    const [M, N] = line.split(" ").map((_) => +_);
    const prime = [];
    for (let num = M; num <= N; num++) {
        if (!num) continue;
        if (num <= 1continue;
        if (num === 2 || num === 3) {
            prime.push(num);
            continue;
        }
        if (num % 2 === 0continue;
        const sqrt = Math.sqrt(num);
        let isPrime = true;
        for (let i = 3; i <= sqrt; i++) {
            if (num % i === 0) {
                isPrime = false;
                break;
            }
        }
        if (isPrime) prime.push(num);
    }
    console.log(prime.join("\n"));
    rl.close();
}).on("close"function () {
    process.exit();
});
cs

description

2중 반복문을 활용해서 소수를 찾는다.
일단 수가 0이나 1이면 소수가 아니다.
2랑 3이면 소수다.
2로 나눠떨어지면 소수가 아니다.
숫자 3부터 반복문을 시작해 하나씩 수를 올리면서 나눠떨어지나 확인한다.
그걸 확인하기 위한 플래그로 isPrime이라는 변수를 설정해준다.
마지막 isPrime을 통해 소수인지 아닌지 확인해주고 prime에 추가해준다.
팁)해당하는 수의 제곱근까지만 확인해도 소수인지 아닌지 판단할 수 있다.

'🧠PS' 카테고리의 다른 글

[216일차]boj 2108 nodejs  (0) 2021.04.17
[211일차]boj1966 nodejs  (0) 2021.04.12
[205일차]boj1920 node.js  (0) 2021.04.06
[200일차]boj1654 node.js  (0) 2021.04.03
[116일차] 프로그래머스 / N으로 표현하기  (0) 2021.01.03
Comments