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++;
}
}
역시 여러가지 상황을 고려하여 문제를 풀어야한다...
맨날 하는 얘기지만 계속 실수를 하는구먼 ... 그래도 아직 초급 개발자니깐 점점 나아질꺼다 !! 가즈아!