문제 설명
소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ n ≤ 10,000
function solution(n) {
var answer = [];
let pre = n;
while (n%2 === 0){
answer.push(2);
n = n/2;
}
for (let i=3; i<=pre; i = i+2){
while(n%i === 0){
n = n/i;
answer.push(i);
}
}
// 중복된 2 제거
const set = new Set(answer);
answer = Array.from(set);
return answer;
}
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스 JS] 이진수 더하기 (10진수 2진수 변환) (0) | 2022.12.07 |
---|---|
[프로그래머스 JS] 문자열 계산하기 (0) | 2022.12.06 |
[프로그래머스 JS] 구슬을 나누는 경우의 수 : BigInt() (0) | 2022.11.17 |
[프로그래머스 JS] 프로그래머스 최빈값 구하기 (1) | 2022.11.12 |
[프로그래머스 JS] 최대공약수 최소공약수 유클리드 호제법 (0) | 2022.11.10 |