소인수분해 - javascript

DonQ·2022년 5월 3일
0

CodingTest

목록 보기
25/33
post-thumbnail

문제 (출처)

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

나의 접근

  • 어렸을때 많이 해봤던 소인수 분해가 소수로만 분해하는지 처음 알았다.

  • 나는 우선 해당 숫자의 소수를 구하여 배열에 넣고, 그 배열에서 가장작은 수로 나누고 또 나누어 진다면 그 수로 나누고 만약 안 나눠 진다면 다음 소수로 나누는 방식으로 하였다. (but 시간초과 ㅋ)

  • 소수를 먼저 따로 구하지 않고, 바로 나누어 보았지만! 시간초과 ㅋ

  • 결국 보니 .... 주어지는 수가 1일때를 가정 안하고 풀었기때문에 시간 초과 였던 것이었드아...

풀이

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim();

let i = 2;
while(true){
    if(+input === 1){
        break;
    }
    else if(+input % i === 0){
        input = input / i
        console.log(i);
        if(input === 1){
            break;
        }
    }else{
        i++;
    }   
}

오늘의 배운점 및 교훈

  • 역시 여러가지 상황을 고려하여 문제를 풀어야한다...

  • 맨날 하는 얘기지만 계속 실수를 하는구먼 ... 그래도 아직 초급 개발자니깐 점점 나아질꺼다 !! 가즈아!

profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글

관련 채용 정보