[백준-node.js-4134] 다음 소수

이태헌·2023년 6월 12일
0
post-thumbnail

문제

https://www.acmicpc.net/problem/4134

풀이

let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
input.shift();
let arr = input.map(Number);
let answer = [];
  

function isPrime(n){
  if(n<2){
    return false;
  }
  for(let i = 2; i<= Math.sqrt(n); i++){
    if(n%i===0) return false;
  }
  return true;
}

while(arr.length != 0){ 
  if(isPrime(arr[0])){
    answer.push(arr[0]);
    arr.shift();
  }else{
    arr[0]++;
  }
}

console.log(answer.join('\n'));
  1. 받아온 수를 소수인지 검사하고 소수가 아니라면 false를 리턴하고 소수이면 true를 리턴한다.
  2. 소수가 아니라면 그 값을 1 더해줘서 다음걸 검사하고 소수가 나올때까지 while문을 돌린다.
  3. 소수면 answer에 넣어주고 넣은 수는 shift로 빼주고 정답 출력

0개의 댓글

Powered by GraphCDN, the GraphQL CDN