ylab 2022. 9. 16. 10:53

https://www.acmicpc.net/problem/8979

 

8979번: 올림픽

입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각

www.acmicpc.net

# 1. 금메달 수가 많은나라
# 2. 금메달 수가 같으면, 은메달 수가 더 많은 나라
# 3. 금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라

n, m = map(int, input().split())
a = []
for _ in range(n):
    a.append(tuple(map(int, input().split())))


a.sort(key=lambda x: (-x[1], -x[2], -x[3]))
#print(a)
# print(a[m - 1][0])
for i in range(n):
    if a[i][0]==m:
        index=i
for i in range(n):
    if a[index][1:]==a[i][1:]:
        print(i+1)
        break

은근 이런문제가 어렵게 느껴진다.

 

정렬 람다 쓰는것에 있어서 익숙해져야겠다.

 

동점자 카운트 하는것에 있어서 아이디어를 index추가하는 것에 대하여 익숙해져야겠다.