BOJ - 11722

주의·2024년 2월 1일
0

boj

목록 보기
160/214

백준 문제 링크
가장 긴 감소하는 부분 수열

❓접근법

  1. 수열을 리스트 data로 받아주고, 길이를 구할 것이므로
    DP = [1] * N 으로 만들어준다.
  2. 현재 인덱스가 이전 인덱스들의 값보다 적다면
    DP[i] = max(DP[i], DP[j] + 1)로 교체해준다.
  3. 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))

0개의 댓글