[백준/BOJ] 11653번 소인수분해 (Javascript / Node js)
2023. 8. 30. 17:19ㆍ코딩 테스트 (BOJ)
문제해석
입력받은 N을 2로 나누어지지 않을때까지 나누고 나눌 때마다 2를 measure 배열에 추가한다. 나누어 떨어지지 않으면 3으로 증가,
마찬가지로 3으로 나누어지지 않을때까지 나누고 나눌때마다 3을 배열에 추가한다. 나누어 떨어지지 않으면 5로 나눈다.
3에서 4로 넘어가지 않은 이유는 4로 나누어질 수는 이미 2로 나뉘었기 때문이다.
이를 N이 1이 될때까지 반복하면 (3 -> 5)로 넘어가는 과정에서 보였 듯 배열에는 자연스럽게 소수만 들어가게 된다.
마지막으로 measure 배열의 원소들을 차례대로 모두 출력해주면 끝.
전체코드
const fs = require("fs");
const input = fs.readFileSync("../input.txt").toString();
var N = Number(input);
var measure = [];
var index = 2;
while(N !== 1){
if(N % index == 0){
measure.push(index);
N = N / index;
}else{
index++;
}
}
measure.map(item => console.log(item));
'코딩 테스트 (BOJ)' 카테고리의 다른 글
[백준/BOJ] 14215번 세 막대 [Javascript / Node js] (2) | 2023.09.06 |
---|---|
[백준/BOJ] 3009번 네 번째 점 (Javascript / Node js) (0) | 2023.09.02 |
[백준/BOJ] 1978번 소수 찾기 (Javascript/Node js) (0) | 2023.08.29 |
[백준/BOJ] 9506번 약수들의 합 [javascript/Node js] (0) | 2023.08.28 |
[백준/BOJ] 2869번 달팽이는 올라가고 싶다 (Node js/javascript) (0) | 2023.08.27 |