728x90
이게 어떻게,, 어떻게,, 어떻게 LIS 응용인지 모르겠지만,,
처음에는 제일 겹쳐있는게 많은 선 부터 끊고,
그 선이 없는 새로운 리스트를 반환해서 그 다음 겹치는게 많은 선을 끊고,
그리고 겹치는게 없어질 때까지 하는것으로 코드를 짰었는데,
겹치는 수가 같은데 경우에 수가 다를 수도 있다는 생각을 하니 막막..
다른 분 풀이를 봤는데
솔직히 잘 이해가 안된다.. 그냥 받아들여야지...
이해가 될랑 말랑..
N=int(input())
nl=[list(map(int,input().split())) for _ in range(N)]
nl=sorted(nl,key=lambda x:x[0])
dp=[1]*N
for i in range(N):
for j in range(i):
if nl[i][1]>nl[j][1]:
dp[i]=max(dp[i],dp[j]+1)
print(N-max(dp))
728x90
'Baekjoon Case' 카테고리의 다른 글
[파이썬 / 백준 9095번] 1, 2, 3 더하기 (0) | 2021.09.17 |
---|---|
[파이썬 / 백준 9251번] LCS (0) | 2021.09.16 |
[파이썬 / 백준 11054번] 가장 긴 바이토닉 부분 수열 (0) | 2021.09.11 |
[파이썬 / 백준 11503번] 가장 긴 증가하는 부분 수열 (0) | 2021.09.09 |
[파이썬 / 백준 2156번] 포도주 시식 (0) | 2021.09.09 |