π λ¬Έμ
μμμμ΄λ λ κ°μ μ«μλ₯Ό μμλ₯Ό μ νμ¬ μ§μ§μ΄ λνλΈ μμΌλ‘ (a, b)λ‘ νκΈ°ν©λλ€. μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ λ μ«μμ κ³±μ΄ nμΈ μμ°μ μμμμ κ°μλ₯Ό returnνλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ νμ¬ν
- 1 ≤ n ≤ 1,000,000
π μ μΆλ ₯ μ
n result
20 6
100 9
π μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- nμ΄ 20 μ΄λ―λ‘ κ³±μ΄ 20μΈ μμμμ (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) μ΄λ―λ‘ 6μ returnν©λλ€.
μ μΆλ ₯ μ #2
- nμ΄ 100 μ΄λ―λ‘ κ³±μ΄ 100μΈ μμμμ (1, 100), (2, 50), (4, 25), (5, 20), (10, 10), (20, 5), (25, 4), (50, 2), (100, 1) μ΄λ―λ‘ 9λ₯Ό returnν©λλ€.
π§ νμ΄
function solution(n) {
// μ λ΅ λ΄κΈ° μν λ³μ μ μΈ
let answer = 0;
// xλ nμ μ κ³±κ·Όμ μ μ λΆλΆ
const x = parseInt(Math.sqrt(n));
// 1λΆν° xκΉμ§ λ°λ³΅νλ©΄μ μ½μμΈμ§ νμΈ
// μ½μμΌ κ²½μ°, νμ μμ΄ μκΈ° λλ¬Έμ answerμ λνκΈ° 2
for (let i = 1; i <= x; i++) {
if (n % i == 0) {
answer += 2;
}
}
// λ§μ½ Math.sqrt(n)μ΄ μ μλ©΄, ν΄λΉ κ²½μ°λ Math.sqrt(n)μ μ½μλ‘ κ°μ§λ κ²
// κ·Έλ κΈ° λλ¬Έμ -1
if ( x == Math.sqrt(n) ) {
answer -= 1;
}
// μ λ΅ λ°ν
return answer;
}
'𧩠Algorithm > π§ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] λͺ¨μ€λΆνΈ (1) (0) | 2023.04.05 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] κ°λ―Έ κ΅°λ¨ (0) | 2023.04.05 |
[νλ‘κ·Έλλ¨Έμ€] μ§λ£ μμ μ νκΈ° (0) | 2023.04.04 |
[νλ‘κ·Έλλ¨Έμ€] μΈκ³νμ±μ λμ΄ (1) | 2023.04.04 |
[νλ‘κ·Έλλ¨Έμ€] λ°°μ΄ μλ₯΄κΈ° (0) | 2023.04.04 |