문제
정수 n을 입력으로 받습니다. 입력 n을 소인수분해한 결과를 배열로 반환합니다. 여기서 소인수분해란 주어진 수를 소수의 곱으로 나타내는 것을 말합니다.
풀이
function primeFactorization(n) {
const result = [];
while (n > 1) {
for (let i = 2; i <= n; i++) {
if (n % i === 0) {
result.push(i);
n /= i;
break;
}
}
}
return result;
}
n에서 나눠지는 값을 배열에 담고 계속 나눠가면서 n이 1보다 클때까지 계산을 합니다.
'코딩문제' 카테고리의 다른 글
삼각형의 종류 판별하기 (0) | 2024.04.09 |
---|---|
중복되지 않은 좌표 구하기 (0) | 2024.04.08 |
소수 개수 세기 (0) | 2024.04.07 |
K번째로 약수를 찾아라 (0) | 2024.04.07 |
사다리 오르내리기 (0) | 2024.04.03 |