본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬]8979번 올림픽

by 현장 2021. 10. 26.

-코드

n, k = map(int, input().split())
m = [list(map(int, input().split())) for _ in range(n)]
m.sort(key=lambda x: (-x[1], -x[2], -x[3]))
for i in range(n):
    if m[i][0] == k:
        num = i
        break
for i in range(n):
    if m[num][1:] == m[i][1:]:
        print(i + 1)
        break

처음에 풀다가 각각을 순서대로 나열을 해야 하는데 값이 3개다 보니 고민을 하다가 찾아보니 예전에 사용한 lamba를 사용하여 나열을 하였습니다.

그리고 k번인 나라의 등수를 출력하게 하였으나 동점일 경우에 문제가 생겨서 다시 찾아보니 k 번째 나라의 등수를 먼저 알아내고 등수가 같은 경우 등수의 값을 1 증가를 시켜야 하는 방법으로 해결을 하였으나 스스로 푸는 부분이 적은 느낌이라 아쉬웠습니다.