CS log
[백준] 1695 본문
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
dp = [[0] * (n + 1) for _ in range(n + 1)]
for i in range(1, n + 1):
for j in range(1, n + 1):
if arr[-i] == arr[j - 1]:
dp[i][j] = dp[i - 1][j - 1] + 1
else:
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
print(n - dp[-1][-1])
'CS > Algorithm' 카테고리의 다른 글
[백준] 11727번 2xn 타일링 2 (0) | 2025.01.12 |
---|---|
[백준] 14501번 (0) | 2025.01.12 |
Dynamic Programming (0) | 2025.01.08 |
[백준/python] 11724 : 연결요소의 개수 (0) | 2024.08.18 |
DFS & BFS (0) | 2024.08.14 |