1, 2, 3 λνκΈ° ν΄μ€
μ£Όμ΄μ§ μ«μ n
μ 1
, 2
, 3
μ ν©μΌλ‘ λ§λλ λͺ¨λ κ²½μ°μ μλ₯Ό ꡬνλ λ¬Έμ μ
λλ€.
μ΄ ν¨μλ λμ νλ‘κ·Έλλ°
μ νλ·Έλ μ΄μ
λ°©μ
μ μ¬μ©ν©λλ€.
νλ·Έλ μ΄μ μ κ³μ° κ²°κ³Όλ₯Ό ν μ΄λΈμ μ μ₯νκ³ , μ΄νμ κ³μ°μμ μ΄μ μ κ³μ°λ κ°μ μ¬μ¬μ©νλ λ°©μμ λλ€.
ν¨μ ꡬν
-
κΈ°λ³Έ κ²½μ° μ²λ¦¬
:-
n < 3
μΈ κ²½μ°,n
μ κ·Έλλ‘ λ°νν©λλ€.n
μ΄ 1μ΄λ 2μΌ λ κ°λ₯ν κ²½μ°μ μλ κ°κ° 1κ³Ό 2μ λλ€. -
n == 3
μΈ κ²½μ°, κ²½μ°μ μλ 4μ΄λ―λ‘ 4λ₯Ό λ°νν©λλ€.
-
-
νλ·Έλ μ΄μ μ μν λ°°μ΄ μ΄κΈ°ν
:dp
λ°°μ΄μ[0, 1, 2, 4]
λ‘ μ΄κΈ°νν©λλ€. μ¬κΈ°μdp[i]
λn=i
μΌ λμ κ²½μ°μ μλ₯Ό μ μ₯ν©λλ€.
-
λμ νλ‘κ·Έλλ°μΌλ‘ κ²½μ°μ μ κ³μ°
:- 4λΆν°
n
κΉμ§μ κ° μ«μμ λν΄,dp[i]
λdp[i - 1]
,dp[i - 2]
,dp[i - 3]
μ ν©μΌλ‘ μ λ°μ΄νΈλ©λλ€. μ΄λn=i
λ₯Ό λ§λλ κ²½μ°μ μκ°n=i-1
,n=i-2
,n=i-3
λ₯Ό λ§λλ κ²½μ°μ μμ ν©κ³Ό κ°μμ μλ―Έν©λλ€.
- 4λΆν°
def solution(n): # κΈ°λ³Έ κ²½μ° μ²λ¦¬ if n < 3: return n if n == 3: return 4 # νλ·Έλ μ΄μ μ μν λ°°μ΄ μ΄κΈ°ν dp = [0, 1, 2, 4] # λμ νλ‘κ·Έλλ°μΌλ‘ κ²½μ°μ μ κ³μ° for i in range(4, n + 1): dp.append(dp[i - 1] + dp[i - 2] + dp[i - 3]) return dp[n]
μ¬μ© μμ
print(solution(4)) # μΆλ ₯: 7
solution(4)
λ₯Ό νΈμΆνλ©΄, 4λ₯Ό
λ§λλ κ²½μ°μ μλ λ€μκ³Ό κ°μ΅λλ€:
- 1 + 1 + 1 + 1
- 1 + 1 + 2
- 1 + 2 + 1
- 2 + 1 + 1
- 2 + 2
- 1 + 3
- 3 + 1
λ°λΌμ μ΄ 7κ°μ§ λ°©λ²μ΄ μμΌλ©°, μ΄λ ν¨μκ° μ¬λ°λ₯΄κ² 7μ λ°νν¨μ λνλ λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help