문제
'LIS'
동적 계획법을 이용해 풀어야 한다.
수열을 순차적으로 반복하여 현재 순서의 숫자와 앞 숫자들을 비교하여 현재 숫자의 k값(현재 숫자가 부분 수열에 들어갈 때 순서)을 수정해나가야 한다.
ex) arr = [10, 20, 10, 30, 20, 50] 일 경우
i값이 증가할 때 마다 k배열은 다음과 같이 변한다.
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
k = [1]*n
for i in range(1, n):
for j in range(i):
if arr[j] < arr[i]:
k[i] = max(k[i], k[j]+1)
print(max(k))