βοΈ λ¬Έμ
μ μ 4λ₯Ό 1, 2, 3μ ν©μΌλ‘ λνλ΄λ λ°©λ²μ μ΄ 7κ°μ§κ° μλ€. ν©μ λνλΌ λλ μλ₯Ό 1κ° μ΄μ μ¬μ©ν΄μΌ νλ€.
- 1+1+1+1
- 1+1+2
- 1+2+1
- 2+1+1
- 2+2
- 1+3
- 3+1
μ μ nμ΄ μ£Όμ΄μ‘μ λ, nμ 1, 2, 3μ ν©μΌλ‘ λνλ΄λ λ°©λ²μ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
π€ μ μΆλ ₯ μμ
π‘νμ΄
μ΄κ²λ μμ£Ό μ λͺ ν DP λ¬Έμ λ€. dp[1]~dp[5]μ κ°κ³Ό κ·Έ κ°μ΄ λμ€λ μ‘°ν©μ μ§μ μ μ΄λ³΄λκΉ κ·μΉμ΄ 보μλλ°, DP μ νμΌλ‘ μΆμ λλ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ νμ μμΌλ‘ λ€ μ μ΄λ³Ό μλ μλ λ²..! μ’ λ λ Όλ¦¬μ μΈ μ κ·Όμ μν΄ μ±μ§νΌν°μ λμμ λ°μλ€.
μΌλ¨ κ²°λ‘ λΆν° λ§νλ©΄ μ΄ λ¬Έμ μ μ νμμ `dp[i] = dp[i-1]+dp[i-2]+dp[i-3]`μΌλ‘ μ μν μ μλ€.
1) μμ
dp[i-1]μ i-1μ 1μ λνλ λ°©λ², dp[i-2]λ i-2μ 2λ₯Ό λνλ λ°©λ², dp[i-3]μ i-3μ 3μ λνλ λ°©λ²μ΄λ€. μ΄μ `i=5`λ‘ κ°μ νκ³ μ΄ν μ€λͺ μ μμ±ν΄λ³΄κ² λ€.
β dp[4]
dp[4]λ μ«μ 4λ₯Ό 1, 2, 3μ ν©μΌλ‘ λ§λλ λ°©λ²μ μλ₯Ό μλ―Ένλλ° μ΄ λμ λͺ¨λ κ²°κ³Όμ 1μ λνλ©΄ κ·Έ κ°λ€μ΄ dp[5]μ μΌλΆκ° λλ€.
μ΄ κ·Έλ¦Όμ΄ λ무 ν¬λ€ γ
β‘ dp[3]
μμ λμΌνκ² dp[3]μ ꡬμ±νλ λͺ¨λ κ°λ€μ 2λ₯Ό λνλ©΄ κ·Έ κ°μ΄ dp[5]μ μΌλΆκ° λλ€. `1+1+1`μ΄ dp[3]μ μΌλΆμΈλ° μ¬κΈ°μ 2λ₯Ό λν `1+1+1+2`λ 5κ° λλ κ²!
2) μ½λ
T = int(input())
dp = [0]*11
dp[1], dp[2], dp[3] = 1, 2, 4
for i in range(4, 11):
dp[i] = dp[i-1]+dp[i-2]+dp[i-3]
for _ in range(T):
n = int(input())
print(dp[n])
μ΄ λ¬Έμ λ μ‘°κΈλ§ λ λΆμ‘κ³ μμλ€λ©΄ λ΄ νμΌλ‘ νμμ κ² κ°μλ° μ±κΈνλ€λ μκ°μ΄ λ λ€. μ€μ€λ‘ μκ°νλ νμ κΈ°λ₯΄μ
'Problem Solving > BOJ & Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] 1654λ²: λμ μλ₯΄κΈ° (1) | 2024.09.18 |
---|---|
[BOJ] 7568λ²: λ©μΉ (0) | 2024.09.09 |
[BOJ] 1463λ²: 1λ‘ λ§λ€κΈ° (1) | 2024.09.03 |
[BOJ] 11399λ²: ATM (0) | 2024.08.27 |
[BOJ] 2839λ²: μ€ν λ°°λ¬ (1) | 2024.08.27 |