sm 기술 블로그

63. 1929(소수 구하기) 본문

문제/백준_자바스크립트

63. 1929(소수 구하기)

sm_hope 2022. 6. 4. 16:34

1. result로 한번에 출력

let input = require("fs").readFileSync(0).toString().split(" ");

let M = parseInt(input[0]);
let N = parseInt(input[1]);

let result = "";

for (let i = M; i <= N; i++) {
  if (i === 2 || i === 5) {
    result += i + "\n";
    continue;
  }

  let index = i % 10;

  if ((index === 1 || index === 3 || index === 7 || index === 9) && i != 1) {
    let is_prime = true;

    for (let j = 2; j <= Math.sqrt(i) + 1; j++) {
      if (i % j == 0) {
        is_prime = false;
        break;
      }
    }
    if (is_prime) {
      result += i + "\n";
    }
  }
}
console.log(result);

2. console.log 반복 출력

let input = require("fs").readFileSync(0).toString().split(" ");

let M = parseInt(input[0]);
let N = parseInt(input[1]);

for (let i = M; i <= N; i++) {
  if (i === 2 || i === 5) {
    console.log(i);
    continue;
  }

  let index = i % 10;

  if ((index === 1 || index === 3 || index === 7 || index === 9) && i != 1) {
    let is_prime = true;

    for (let j = 2; j <= Math.sqrt(i) + 1; j++) {
      if (i % j == 0) {
        is_prime = false;
        break;
      }
    }
    if (is_prime) console.log(i);
  }
}

>> 자바스크립트에서는 console.log가 시간을 매우 많이 잡아 먹어 console.log를 반복하는 것과 바로 모아서 출력하는 것의 시간 차이가 매우매우 크다.

1번은 result 2번은 console.log 로 풀었을 때 걸리는 시간이다.

'문제 > 백준_자바스크립트' 카테고리의 다른 글

65. 9020(골드바흐의 추측)  (0) 2022.06.05
64. 4948(베르트랑 공준)  (0) 2022.06.04
62. 11653(소인수분해)  (0) 2022.06.04
61. 소수(2581)  (0) 2022.06.03
60. 1978(소수찾기)  (0) 2022.06.03
Comments