예시를 보면 이와 같다.
arr | 10 | 70 | 80 | 20 | 30 | 40 | 50 | 90 |
---|---|---|---|---|---|---|---|---|
dp | 1 | 2 | 3 | 2 | 3 | 4 | 5 | 6 |
n = int(input())
dp = [1] * (n + 1)
arr = list(map(int, input().split() ))
for i in range(n):
for j in range(i):
if arr[i] > arr[j]:
dp[i] = max(dp[i], dp[j] + 1)
print(max(dp))
실행 결과