알고리즘/백준

[boj 2581] 소수 - js

jinux127 2022. 2. 26. 16:06
//소수

let fs = require('fs');
// let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(Number); // 제출용
let input = fs.readFileSync('input.txt').toString().trim().split('\n').map(Number); // vscode 테스트용


const sol = (M,N) => {
    let arr = [];
    for(let i = M; i<=N;i++){
        if(isPrime(i)) arr.push(i);
    }

    if(arr.length > 0){
        console.log(arr.reduce((acc,cur)=>acc+cur,0));
        console.log(arr[0]);
    } else {
        console.log(-1);
    }
}


const isPrime = (num) =>{
    if(num <= 1) return false;
    if(num % 2 === 0){
        return num === 2 ? true : false;
    }
    for (let i = 3; i <= Math.sqrt(num); i++) {
        if(num% i ===0) return false;
    }
    return true;
}

sol(input[0],input[1]);

소수 찾기 풀었다면 쉽게 풀 수 있는 문제이다. 다만 반복문의 조건에 좀더 유의하자!! (<=, <)