국가의 금, 은, 동에 대해 매달 순으로 list.sort(key = x lambda : x = l[0]) 이런 식으로 배열한 후에 rank를 출력하면 되는 간단한 문제
라고 생각했으나 배열을
country.sort(key = lambda x : (x[3],x[2],x[1]))
위와 같이 짜버려서 메달 순서에 따른 list 나열이 잘못되었다. 그러나 예시 코드의 답이 다 맞았어서 오류 찾느라 정말 시간 소모가 많이 걸렸다..
N, K = list(map(int,input().split()))
country = []
for i in range(N):
medal = list(map(int,input().split()))
country.append(medal)
country.sort(key = lambda x : (-x[1],-x[2],-x[3])) # 나열 방법 다시 확인
for i in range(N):
if country[i][0] == K:
index = i
for i in range(N):
if country[index][1:] == country[i][1:]:
print(i + 1)
break
country.sort(key = lambda x : (x[3],x[2],x[1])) 이처럼 어떤 list에 다양한 값을 갖는 원소가 있다면 특정 원소를 지정해서 sort할 수 있다. (key값을 이용해서) 이 때, 나열 순서도 정할 수 있다.