Part7.5_동적프로그래밍(DynamicProgramming)_최대선 연결하기(LIS응용)

Eugenius1st·2022년 2월 21일
0

Python_algorithm

목록 보기
66/83

최대 선 연결하기

이 전에 했던 것과 같은 코드이다

import sys
sys.stdin = open("input.txt", "rt")

n= int(input())
arr = list(map(int,input().split()))
res = 0
dy = [0]*(n+1)
dy[1] = 1
# 긴 증가수열을 만들기
arr.insert(0,0)

for i in range(2,n+1):
    max = 0
    for j in range(i-1, 0, -1):
        if arr[j] < arr[i] and dy[j] > max:
            max = dy[j]
    dy[i] = max+1
    if dy[i] > res:
        res = dy[i]
print(res)

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글