λμ κ³νλ² νμ΄μ¬ ꡬν λ°©λ²
λΆλΆ λ¬Έμ μ κ²°κ³Όλ₯Ό μ μ₯νκ³ μ¬μ¬μ©νλ λμ κ³νλ²μ νμ΄μ¬ μ½λλ‘ μ΄ν΄λ³΄κ² μ΅λλ€.
1. ν¨μ μ μ λ° λ©λͺ¨μ΄μ μ΄μ ꡬ쑰 μ€μ
λμ κ³νλ²μ κ³μ° κ²°κ³Όλ₯Ό μ μ₯νκ³ μ¬μ¬μ©νλ λ°©λ²μ λλ€. μ΄λ₯Ό μν΄ λ©λͺ¨μ΄μ μ΄μ μ μ¬μ©ν©λλ€.
λ©λͺ¨μ΄μ μ΄μ
ꡬ쑰 μ€μ μμ
def fibonacci(n, memo={}): if n in memo: return memo[n] # λ©λͺ¨μ΄μ μ΄μ if n <= 2: return 1 memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo) return memo[n]
2. μ¬κ· νΈμΆ λ° κ²°κ³Ό μ μ₯
ν¨μλ νΌλ³΄λμΉ μμ΄μ (n)λ²μ§Έ κ°μ κ³μ°νκ³ , μ΄λ₯Ό memo
μ μ μ₯ν©λλ€. μ΄λ κ² μ μ₯λ κ°μ μ¬μ¬μ©λ©λλ€.
μ¬κ· νΈμΆ λ° κ²°κ³Ό μ μ₯ μμ
if n in memo: return memo[n] if n <= 2: return 1 memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo) return memo[n]
μκ³ λ¦¬μ¦ λ³΅μ‘λ
-
μκ° λ³΅μ‘λ (Time Complexity)
: O(n)- λ©λͺ¨μ΄μ μ΄μ μ μ¬μ©νλ νΌλ³΄λμΉ ν¨μμ μκ° λ³΅μ‘λλ O(n)μ λλ€. κ° μ«μμ λν νΌλ³΄λμΉ κ°μ ν λ²λ§ κ³μ°λλ©°, κ³μ°λ κ°μ μ μ₯λμ΄ μ¬μ¬μ©λ©λλ€.
-
κ³΅κ° λ³΅μ‘λ (Space Complexity)
: O(n)- λ©λͺ¨μ΄μ μ΄μ
μ μν΄ μ¬μ©λλ μΆκ° λ©λͺ¨λ¦¬ 곡κ°μΌλ‘ μΈν΄ κ³΅κ° λ³΅μ‘λλ O(n)μ
λλ€. κ° κ³μ°λ νΌλ³΄λμΉ μλ
memo
μ¬μ μ μ μ₯λλ―λ‘, nλ²μ§Έ μλ₯Ό κ³μ°νκΈ° μν΄ μ΅λ nκ°μ 곡κ°μ΄ νμν©λλ€.
- λ©λͺ¨μ΄μ μ΄μ
μ μν΄ μ¬μ©λλ μΆκ° λ©λͺ¨λ¦¬ 곡κ°μΌλ‘ μΈν΄ κ³΅κ° λ³΅μ‘λλ O(n)μ
λλ€. κ° κ³μ°λ νΌλ³΄λμΉ μλ
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result