import sys
input = sys.stdin.readline
n, k = map(int, input().split())
s = []
for i in range(n):
s.append(list(map(int, input().split())))
s.sort(key=lambda x : (-x[1], -x[2], -x[3])) # 왼쪽>>오른쪽 기준으로 정렬
for i in range(n):
if s[i][0] == k: # k는 sorted table에서 어디입니까?
idx==i
for i in range(n):
if s[i][1:]==s[idx][1:]: #예외케이스 > (3,0,0) (2,0,0) (2,0,0) (2,0,0) 여기서 (2,0,0)의 3번째라면 2위가 아니고 4위가 되어버림. 값반영을 못함. 이것처리
print(i+1)
예외처리가 중요했던 문제이다. 메달수가 같은데 공동n 등으로 처리해야할 문제가 그냥 sorted table에서 가져오면 공동등수가 아니라 for 문 돌면서 밀려나버린다. 따라서 값을 save반영하기 위한것이 아래쪽 코드
'Coding Test > 정렬' 카테고리의 다른 글
[TIL] 정렬(백준 1302 파이썬) 2022.01.22 (0) | 2022.01.22 |
---|---|
[TIL] 정렬(백준 10610 파이썬) 2022.01.21 (0) | 2022.01.21 |
[TIL] 정렬(백준 1181 파이썬) 2022.01.19 (0) | 2022.01.19 |
[TIL] 정렬(백준 2309 파이썬) 2022.01.18 (0) | 2022.01.18 |
[TIL] 정렬 (백준 2750 파이썬 / 백준 2751 파이썬) 2021.01.17 (0) | 2022.01.17 |