병사 배치하기

최대 1 분 소요

병사 배치하기

문제 설명

전투력이 높은 병사가 앞쪽에 오도록 내림차순으로 배치를 하는 문제이다.

해결방법

LIS(Longest Increaing Subsequence) 최장 증가 부분 수열 알고리즘으로 풀 수 있다.

n = int(input())
sol = list(map(int, input().split()))

dp = [1] * n

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

print(n - max(dp))

댓글남기기