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))
#기억하기론 역순으로 정렬해서 푸는 방법도 존재함.
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][동적 계획법1] 9251. LCS (파이썬/Python) (0) | 2021.09.17 |
---|---|
[백준][동적 계획법1] 11054. 가장 긴 바이토닉 부분 수열 (파이썬/Python) (0) | 2021.09.17 |
[백준][동적 계획법1] 11053. 가장 긴 증가하는 부분 수열LIS(파이썬/Python) (0) | 2021.09.15 |
[백준][동적 계획법1] 2156 . 포도주 시식(파이썬/Python) (0) | 2021.09.15 |
[백준][동적 계획법1] 1463 . 1로 만들기(파이썬/Python) (0) | 2021.09.15 |