
Problem: 다이나믹 프로그래밍 (Dynamic Programming)
DP를 적용한 코드
n = int(input())
arr = list(map(int, input().split()))
arr.reverse()
d = [1] * n
for i in range(1, n):
for j in range(0, i):
if arr[j] < arr[i]:
d[i] = max(d[i], d[j] + 1)
# print(d)
print(n - max(d))
'''
7
15 11 4 8 5 2 4
reverse()
4 2 5 8 4 11 15
'''
'Programming > 1 Day 1 Commit' 카테고리의 다른 글
[이취코] 미래도시 (Python3) (2) | 2024.03.06 |
---|---|
[이취코] 전보 (Python3) (0) | 2024.03.06 |
[이취코] 금광 (Python3) (0) | 2024.03.06 |
[이취코] 효율적인 화폐 구성 (Python3) (0) | 2024.03.06 |
[이취코] 1로 만들기 (Python3) (0) | 2024.03.06 |