문제풀이/백준(Boj) 문제풀이
[백준][동적 계획법1] 2565 . 전깃줄 (파이썬/Python)
얄루몬
2021. 9. 16. 16:54
import sys
input = sys.stdin.readline
n = int(input())
lst = []
lst_2 = []
dp = [0]*n
for _ in range(n):
lst.append(list(map(int,input().split())))
# A순으로 정렬
lst.sort(key = lambda x:x[0])
#A순으로 정렬한 리스트목록에서 B만 리스트2에 담아 줌
for i in range(n):
lst_2.append(lst[i][1])
for i in range(n):
for j in range(i):
if lst_2[i] > lst_2[j] and dp[i] < dp[j]:
dp[i] = dp[j]
dp[i] += 1
#입력받은 n에서 긴수열의 값을 빼준 것이 교차하는 전깃줄의
print(n-max(dp))
#기억하기론 역순으로 정렬해서 푸는 방법도 존재함.