π λ¬Έμ
μμΈμλΆν΄λ μ΄λ€ μλ₯Ό μμλ€μ κ³±μΌλ‘ νννλ κ²μ λλ€. μλ₯Ό λ€μ΄ 12λ₯Ό μμΈμ λΆν΄νλ©΄ 2 * 2 * 3 μΌλ‘ λνλΌ μ μμ΅λλ€. λ°λΌμ 12μ μμΈμλ 2μ 3μ λλ€. μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ nμ μμΈμλ₯Ό μ€λ¦μ°¨μμΌλ‘ λ΄μ λ°°μ΄μ returnνλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ νμ¬ν
- 2 ≤ n ≤ 10,000
π μ μΆλ ₯ μ
n result
12 [2, 3]
17 [17]
420 [2, 3, 5, 7]
π μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- 12λ₯Ό μμΈμλΆν΄νλ©΄ 2 * 2 * 3 μ λλ€. λ°λΌμ [2, 3]μ returnν©λλ€.
μ μΆλ ₯ μ #2
- 17μ μμμ λλ€. λ°λΌμ [17]μ return ν΄μΌ ν©λλ€.
μ μΆλ ₯ μ #3
- 420μ μμΈμλΆν΄νλ©΄ 2 * 2 * 3 * 5 * 7 μ λλ€. λ°λΌμ [2, 3, 5, 7]μ returnν©λλ€.
π§ νμ΄
function solution(n) {
// μ λ΅μ λ΄μ λ°°μ΄ μ μΈ
let answer = [];
// μμΈμ λΆν΄, μ½μ 2λΆν° μμ
let i = 2;
while (n != 1) {
// λλ λ¨μ΄μ§λ©΄ ν΄λΉ μλ μ½μ
if (n % i == 0) {
answer.push(i)
// ν΄λΉ μ½μλ‘ λλ λ¨μ΄μ§ λκΉμ§ λ°λ³΅
while (n % i == 0) {
n = n / i;
}
}
i ++;
}
return answer;
}
'π§© Algorithm > π§ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] λ°°μ΄ μμμ κΈΈμ΄ (0) | 2023.04.11 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] 컨νΈλ‘€ μ νΈ (0) | 2023.04.11 |
[νλ‘κ·Έλλ¨Έμ€] μ¨μ΄μλ μ«μμ λ§μ (1) (0) | 2023.04.10 |
[νλ‘κ·Έλλ¨Έμ€] λ¬Έμμ΄ μ λ ¬νκΈ° (1) (0) | 2023.04.10 |
[νλ‘κ·Έλλ¨Έμ€] λͺ¨μ μ κ±° (0) | 2023.04.10 |