본문 바로가기
알고리즘/BOJ

[Python] 백준 2631: 줄세우기

by PIAI 2021. 10. 4.

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

 

2631번: 줄세우기

KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기

www.acmicpc.net

1. 증가하는 부분수열중 가장 긴 수열은 3 7 5 2 6 1 4 이다.

2. 이 사이에 숫자를 오름차순으로 넣어주기만하면 되므로 ans = 아이들의 수 - 가장긴 증가하는 부분수열의 길이이다.

n = int(input())
chd = []
dp = [0 for _ in range(n)]
for i in range(n):
    chd.append(int(input()))
    for j in range(i):
        if chd[j] < chd[i]:
            dp[i] = max(dp[i], dp[j])
    dp[i] += 1
print(n-max(dp))

 

댓글