λ¬Έμ
Finnμ μμ¦ μν곡λΆμ λΉ μ Έ μμ΅λλ€. μν 곡λΆλ₯Ό νλ Finnμ "μμ°μ nμ μ°μν μμ°μλ€λ‘ νν νλ λ°©λ²"μ΄ μ¬λ¬κ°λΌλ μ¬μ€μ μκ² λμμ΅λλ€.
μλ₯Όλ€μ΄ 15λ λ€μκ³Ό κ°μ΄ 4κ°μ§λ‘ νν ν μ μμ΅λλ€.
1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15
μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ°μλ μμ°μλ€λ‘ nμ νννλ λ°©λ²μ μλ₯Ό returnνλ solutionλ₯Ό μμ±ν΄μ£ΌμΈμ.
νμ΄
μ²μμ μ°Ύμ κ·μΉμ μ½μλ₯Ό μ΄μ©νλ©΄ λ κ² κ°μλ€.
15μ μ½μμ κ°μ [1,3,5,15] -> 4κ°
14μ μ½μλ‘ κ³μ°ν΄λ³΄μμ λ
μ°μλ κ²½μ°λ‘ μ°Ύμ μ μλ κ²μ 2κ°μ§μΈλ°,
2+3+4+5 = 14
14 = 14
μ½μλ [1,2,7,14] 4κ°μ΄λ€.
μμ νμμΌλ‘ νμ΄μΌνλ μΆμ΄μ Array.fromμΌλ‘ 1λΆν° nκΉμ§ λ΄κΈ΄ λ°°μ΄μ λ§λ€κ³ , λμ ν΄μ λνλ€κ° 15κ° λλ©΄ μΉ΄μ΄ν μ νλ€. λκΈ΄ν κ² κ°μλ° μκ°λ³΅μ‘λμμ λ³λ‘μΈ λ°©λ²μ΄λΌκ³ μκ°νκ³ , μ½μλ₯Ό μ΄μ©νλ λ°©λ²μ μ°Ύμλ³΄κΈ°λ‘ νλ€.
ν΄λΉ λ¬Έμ λ
"μ£Όμ΄μ§ μλ₯Ό μ°μλ μμ°μμ ν©μΌλ‘ νννλ λ°©λ²μ μ"μ
"μ£Όμ΄μ§ μμ νμμΈ μ½μμ κ°―μ"λ κ°λ€.
μ£Όμ΄μ§ μ λ₯Ό μ°μλ μμ°μμ ν©μΌλ‘ νννλ λ°©λ² μ = μ£Όμ΄μ§ μμ μ½μ μ€μ νμμ κ°μ
λ 곡μμ μ΄μ©ν νμ΄λΌκ³ νλ€.
μ½μ μ€μ νμμΈ κ²μ κ°―μλ₯Ό μ°ΎμμΌνλ€.
*μ½μ : μ΄λ€ μλ₯Ό λλμ΄ λλ¨Έμ§ μμ΄ λ¨μ΄μ§λ μ
15μ μ½μλ 1, 3, 5, 15 μ΄κ³ μ΄ μ€ νμλ 4κ°μ΄λ€.
• μ½μ 1 => μ°μνλ 1κ° μμ°μμ ν©μΌλ‘ νν κ°λ₯
15 = 15
• μ½μ 3 => μ°μνλ 3κ° μμ°μμ ν©μΌλ‘ νν κ°λ₯15λ₯Ό 3μΌλ‘ λλκ°μΈ 5λ‘ ννν μ μλ€.
5 + 5 + 5 = 15 => 3 + 4 + 5 = 15
• μ½μ 5 => μ°μνλ 5κ° μμ°μμ ν©μΌλ‘ νν κ°λ₯15λ₯Ό 5λ‘ λλκ°μΈ 3μΌλ‘ ννν μ μλ€.
3 + 3 + 3 + 3 + 3 = 15 => 1 + 2 + 3 + 4 + 5 = 15
• μ½μ 15 => λͺ¨λ νμ(2n+1)λ nκ³Ό n+1λ‘ νν κ°λ₯
7 + 8 = 15
μ½λ
const solution = (n) => {
let count = 0;
for (let i = 0; i <= n; i++) {
if (n % i === 0 && i % 2 !== 0) {
count++;
}
}
return count;
}
'π‘Algorithm > λ¬Έμ νκΈ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ | Level 2 - νλ¦°ν°(queue) (0) | 2021.11.15 |
---|---|
νλ‘κ·Έλλ¨Έμ€ | Level 2 - μ΅μκ° λ§λ€κΈ° (0) | 2021.11.04 |
νλ‘κ·Έλλ¨Έμ€ - λ€μ ν° μ«μ (0) | 2021.11.04 |
νλ‘κ·Έλλ¨Έμ€ - μ΄μν λ¬Έμ λ§λ€κΈ° (1) | 2021.11.04 |
νλ‘κ·Έλλ¨Έμ€ - λ‘λμ μ΅κ³ μμμ μ΅μ μμ (0) | 2021.10.29 |