λ°μν
π€λ¬Έμ ν΄κ²°
-
S2 | DP
μμ λ¬Έμ μ μ΄μ§ λΉμ·ν λλμ΄λ€.
- κ°μ΄ 1λ‘ μ ν λ κΈΈμ΄κ° n μΈ dp 리μ€νΈλ₯Ό λ§λ λ€. dp = [1, 1, 1, ... ]
- κ°κ°μ κ°μ νμ¬ ν¬ν¨ν μμμ κ°―μμ΄λ€.
- 맨μμ μμλΆν° νλμ© λ€λ‘κ°λ©° μμ μμλ₯Ό λͺκ°λ λ΄μ μ μλ μ§ μ²΄ν¬νλ€.
- λ§μ½ λ΄μμ μμκ° λλ³΄λ€ μκ³ κ·Έ μμκ° λ΄κ³ μλ μμμ κ°―μ(λ³ΈμΈν¬ν¨)κ° 5κ°λΌλ©΄
μ§κΈ λμ μμλ μμ μμκΉμ§ λ΄μ μ μμΌλ―λ‘ 6μ΄ λλ€.
π»μμ€ μ½λ
n = int(input())
boxes = list(map(int, input().split()))
dp = [1] * n
for i in range(1, n):
tmp = 0
for j in range(i - 1, -1, -1):
if boxes[j] < boxes[i]:
tmp = max(dp[j], tmp)
dp[i] += tmp
print(max(dp))
πλ¬Έμ νμΈ
μΆμ²: BACKJOON ONLINE JUDGE
λ°μν
'Algorithm Problem > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] λ°±μ€ - 2110. 곡μ κΈ° μ€μΉ (4) | 2020.10.16 |
---|---|
[python] λ°±μ€ - 1735. λΆμ ν© (0) | 2020.10.15 |
[python] λ°±μ€ - 2504. κ΄νΈμ κ° (0) | 2020.10.13 |
[python] λ°±μ€ - 1890. μ ν (0) | 2020.10.12 |
[python] λ°±μ€ - 1780. μ’ μ΄μ κ°μ (0) | 2020.10.11 |