백준

18353 - 병사 배치하기

whiporithm 2023. 6. 9. 16:42

 

 


 

문제

https://www.acmicpc.net/problem/18353

 

18353번: 병사 배치하기

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

풀이

가장 긴 감소하는 부분 수열이랑 문제가 완전히 똑같다.

(가장 긴 증가하는 부분 수열의 반대로 https://whiporithm.tistory.com/11 )

n에서 가장 긴 감소하는 부분 수열의 길이를 빼주면 정답이다.

 

코드

n = int(input())
d = [1] * n
wars = list(map(int, input().split()))

for i in range(n):
    for j in range(i):
        if wars[j] > wars[i]:
            d[i] = max(d[j]+1, d[i])

print(n  - max(d))

 

'백준' 카테고리의 다른 글

1197 - 최소 스패닝 트리  (0) 2023.06.10
2579 - 계단 오르기  (0) 2023.06.10
14501 - 퇴사  (0) 2023.06.09
11055 - 가장 큰 증가하는 부분 수열  (0) 2023.06.05
11053 - 가장 긴 증가하는 부분 수열  (0) 2023.06.04