백준 / 실버 2 / 11722 가장 긴 감소하는 부분 수열 [DP, 부분합, 반복]

jjin·2023년 11월 10일
0

오답

N = int(input())
A = list(map(int, input().split()))
dp = [1] * N

for i in range(1, N):
    for j in range(i):
        if A[j] > A[i]:
            dp[i] = max(dp[i], dp[j] + 1)
print(dp[N-1]) # 이부분이 틀렸음 . . 관성적으로 작성한 ..!!

'''
입: 1~1,000
알: dp. O(N3)까지
엣: 1 체크 완, 2 체크 완

'''
import sys
input = sys.stdin.readline

N = int(input())
A = list(map(int, input().split()))
dp = [1] * N

for i in range(1, N):
    for j in range(i):
        if A[j] > A[i]:
            dp[i] = max(dp[i], dp[j] + 1)
print(max(dp))
profile
진짜

0개의 댓글