1. ์ ๋ ฅ๋ฐ์ ์๋ค์ ๋ฆฌ์คํธ seq์ ์ ์ฅ
2. seq์ ๊ฐ์ ๊ธธ์ด์ t_seq๋ฅผ ์์ฑํ๊ณ ์ฒซ๋ฒ์งธ ์์๋ 1, ๋๋จธ์ง๋ 0์ผ๋ก ์ฑ์ด๋ค
=> seq[n]๊น์ง์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ฐ์๋ฅผ ๋ฆฌ์คํธ t_seq[n]์ ์ ์ฅํ ๊ฒ
3. for๋ฌธ์ผ๋ก t_seq[1] ~ t_seq[n-1] ๊น์ง ๊ณ์ฐ
=> ๊ฐ์ฅ ๊ธด ์์ด์๋ seq[n]๊ฐ ํฌํจ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ seq[n]๊ฐ ๊ฐ์ฅ ํฐ ์๊ฐ ๋ ๊ฒ์ด๋ค
=> seq[n] ์ด์ ์ seq[n]๋ณด๋ค ์์ ์ซ์๋ค ์ค t_seq[n]๊ฐ ๊ฐ์ฅ ํฐ ์ซ์์ 1์ ๋ํด ์ ์ฅํ๋ค
3-1. ๋ฆฌ์คํธ a์ 0์ ์ ์ฅ
3-2. for๋ฌธ์ผ๋ก a์ seq[0] ~ seq[n-1] ์ค seq[n]๋ณด๋ค ์์ ์ซ์๋ค์ t_seq[n]์ ์ ์ฅ
3-3. a์ ์ต๋๊ฐ + 1์ t_seq[n]์ ์ ์ฅ
4. t_seq์ ์ต๋๊ฐ์ ์ถ๋ ฅ
# 11053.py
n = int(input())
seq = [i for i in map(int, input().split())]
t_seq = [1] + [0 for _ in range(n-1)]
for i in range(1, n):
a = [0]
for j in range(i):
if seq[j] < seq[i]:
a.append(t_seq[j])
t_seq[i] = max(a) + 1
print(max(t_seq))
์ด์ ๋ญ๊ฐ DP๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก ํ์ด์ผ ํ๋์ง ์ ๊ฒ ๊ฐ์ ๋๋์ด๋ค..