[백준 1912 실버2] 가장 긴 증가하는 부분 수열 (DP/파이썬) 읽기복습필

밀루·2023년 4월 2일
0

백준 문제풀이

목록 보기
19/51

https://www.acmicpc.net/problem/1912

n = int(input())
arr = list(map(int, input().split()))
dp = [0 for _ in range(n)]

for i in range(n):
    for j in range(i):
        if arr[j] < arr[i] and dp[j] > dp[i]:
            dp[i] = dp[j]
    dp[i] += 1

print(max(dp))

Tech:

딱히 테크닉이랄건 별로 없지만, dp이전에 자기보다 작은 수 중 가장 많이 증가하는 수열을 자기 수열로 가져오는 기술을 썼다.

그냥 로직만 읽어봐도 충분할듯

profile
벨로그에 틀린 코드나 개선할 내용이 있을 수 있습니다. 지적은 언제나 환영합니다.

0개의 댓글