백준 2581번

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

2581번은 이전문제인 소수 찾기에서 응용을해서 풀어보았습니다.

const fs = require("fs");
const input = fs
  .readFileSync("inp.txt")
  .toString()
  .trim()
  .split("\n")
  .map((num) => Number(num));
// let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let startNum = input[0];
let endNum = input[1];
let arr = [];
let sum = 0;

outer: for (let i = startNum; i <= endNum; i++) {
  if (i === 1) {
    continue;
  }
  inner: for (let j = 2; j * j <= i; j++) {
    if (i % j === 0) {
      continue outer;
    }
  }
  arr.push(i); //입력값 범위내의 소수 찾고 빈배열안에 넣기
}
if (arr.length === 0) {
  console.log(-1); //만약 없을경우 -1
} else {
  for (let i = 0; i < arr.length; i++) {
    sum = sum + arr[i]; //배열안의 합
  }
  console.log(sum);
  console.log(Math.min(...arr)); //배열안의 최솟값
}

풀면서 break를 어떻게 걸어야 할지 고민하다
inner outer 라는 것을 알게되었습니다.

post-custom-banner

0개의 댓글