최종 제출 코드
n = int(input())
array = list(map(int,input().split()))
dp = [1]*n
for i in range(n) :
for j in range(i) :
if array[i] > array[j] :
dp[i] = max(dp[i],dp[j]+1)
print(max(dp))
◼ 동적 프로그래밍
dp 리스트를 업데이트 시켜야하는지 감이 안 잡힘..ㅠㅠdp 리스트를 어떻게 업데이트 할지, 업데이트를 위해 원소를 어떤 방식으로 탐색해야 하는지 오리무중!!!.
◼ p 리스트와 dp 리스트 모두 대소 비교가 필요하다!
p 리스트의 원소 대소 비교 후 조건 만족 시 dp 원소 업데이트!dp 원소들의 대소 비교 후 업데이트라는 아이디어를 떠올리지 못해 dp 리스트의 모양이 이상해져감...dp는 단순히 값을 저장하기 만을 위한 배열이 아님! dp 내에 저장된 값을 이용하여 정답을 도출하자!!!