백준 문제 링크
가장 긴 감소하는 부분 수열
- 수열을 리스트 data로 받아주고, 길이를 구할 것이므로
DP = [1] * N 으로 만들어준다.- 현재 인덱스가 이전 인덱스들의 값보다 적다면
DP[i] = max(DP[i], DP[j] + 1)로 교체해준다.- DP의 최댓값을 출력하면 끝!
N = int(input())
data = list(map(int, input().split()))
DP = [1] * N
for i in range(1,N):
for j in range(i):
if data[i] < data[j]:
DP[i] = max(DP[i], DP[j] + 1)
print(max(DP))