728x90
<문제 링크>
https://www.acmicpc.net/problem/18353
<문제 풀이>
1. 가장 긴 증가하는 부분 수열 알고리즘 이용하여 풀 수 있음
<코드>
n = int(input())
array = list(map(int,input().split())
array.reverse()
dp = [1] * n
for i in range(1,n):
for j in range(0,i):
if array[j] < array[i]:
dp[i] = max(dp[i], dp[j]+1)
print(n-max(dp))
<고쳐야 할 점>
- 가장 긴 증가하는 부분 수열 알고리즘 기억하기
- 복습 알고리즘
'두두의 알고리즘 > 문제' 카테고리의 다른 글
[구현] 난이도2, 이취코 118p '게임 개발' (Python) (0) | 2022.03.25 |
---|---|
[동적계획법] 난이도1.5, Goldman Sachs 인터뷰 '편집 거리' (Python) (0) | 2022.03.25 |
[동적계획법] 난이도1.5, 이취코 223p '바닥 공사' (Python) (0) | 2022.03.24 |
[동적계획법] 난이도1.5, 이취코 217p '1로 만들기' (Python) (0) | 2022.03.24 |
[BFS] 난이도1.5, 이취코 152p '미로 탈출' (Python) (0) | 2022.03.23 |