백준-Node.js-11653, 소인수분해

송철진·2023년 2월 12일
0

백준-Node.js

목록 보기
19/71

풀이

const fs = require('fs')
const input = Number(fs.readFileSync('/dev/stdin').toString().trim())

const solution = num => {
    let i = 2
    let result = []
    while(num >= i ){
      if(num % i === 0){
        result.push(i)
        num /= i
      }else{
        i++
      } 
    }
    return result.join('\n')
}

console.log(solution(input))

소인수 i는 2부터 시작한다

입력값 numi로 나누어 떨어지면 소인수이므로 배열 result에 추가하고 numnumi로 나눈 몫을 재할당한다.
numi로 나누어 떨어지지 않으면 소인수가 아니므로 +1 증가시킨다.

num은 소인수i보다 크거나 작아야 하므로 반복문의 조건으로 삼는다.


프로그래머스에 한 번쯤 풀어본듯한 문제라 별로 어렵지 않았다.

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글