반응형
[문제 출처]
https://www.acmicpc.net/problem/18353
[문제 풀이]
병사들의 전투력이 감소하는 순으로 배치하기 위해서 병사를 열외 시킬 수 있으며 최대한 그 수를 적게 하고 싶다.
즉 감소하는 가장 긴 부분 수열을 구하는 문제와 동일한 문제지만 물어보는 값이 다른 것뿐이기에
11722번(가장 긴 감소하는 부분 수열) 문제를 풀어본 적이 있다면 쉽게 풀 수 있다.
혹은 11053번(가장 긴 증가하는 부분 수열) 문제와도 비슷하다. 부등호 차이일 뿐이다.
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int,input().split()))
dp = [1 for _ in range(n)]
for i in range(1,n):
for j in range(i):
if arr[i] < arr[j]:
dp[i] = max(dp[i], dp[j]+1)
print(len(arr) - max(dp))
[유사한 문제 출처]
https://www.acmicpc.net/problem/11722
https://www.acmicpc.net/problem/11053
[해당 문제 풀이]
https://sodehdt-ldkt.tistory.com/138
https://sodehdt-ldkt.tistory.com/69
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 4097 수익 (0) | 2022.07.22 |
---|---|
[python/파이썬] 백준 17291 새끼치기 (0) | 2022.07.22 |
[python/파이썬] 백준 11722 가장 긴 감소하는 부분 수열 (0) | 2022.07.21 |
[python/파이썬] 백준 20152 Game Addiction (0) | 2022.07.20 |
[python/파이썬] 백준 15990 1, 2, 3 더하기 5 (0) | 2022.07.20 |