[백준-11722] 가장 긴 감소하는 부분 수열

개발자 핑구·2022년 3월 18일
0

[알고리즘 문제풀이]

목록 보기
18/32


나의 코드

import sys
input = sys.stdin.readline

n=int(input())
a=list(map(int,input().split()))
dp=[0]*n
for i in range(n):
    for j in range(i):
        if a[j]>a[i]:
            dp[i]=max(dp[i],dp[j])
    dp[i]+=1

print(max(dp))

풀이

dp[i]엔 i까지 가장 긴 감소하는 부분 수열의 길이를 저장한다.
이를 위해서 0번부터 i-1번까지의 감소부분수열을 만족하면서 가장 큰값에다가 +1한값이 dp[i]값이 된다.

0개의 댓글

관련 채용 정보