728x90
분석
유사문제 : 2631
추가 조건 : 이동하는 어린이를 제일 앞이나 제일 뒤로만 보낼 수 있음
➔ 바로 옆에 있는 최장 증가 수열을 구해야함
4 2 3 1 5
1. 한 명의 어린이를 뽑아서 원하는 곳에 배치
→ N(5)- 최장 증가 수열(2,3,5) 길이 = 2
2. 한 명의 어린이를 뽑아서 맨 앞이나 맨 뒤에 배치
→ N(5)- 연속 최장 증가 수열(2,3) 길이 = 3
풀이
import sys
input=sys.stdin.readline
n=int(input())
a=list(map(int, input().split()))
dp=[0]*(n+1)
res = 0
for i in range(n):
x=a[i]
dp[x]=dp[x-1]+1
res = max(res, dp[x])
print(n - res)
728x90