728x90
1. 문제
2. 해결
- 우선 얻은 금메달, 은메달, 동메달 수의 순서대로 리스트를 정렬한다.
- sort, lambda함수를 이용하여 정렬하였다.
- 등수를 찾을 때 for 문을 돌며 n과 함께 주어진 국가번호 k의 index(정렬한 리스트의 등수 -1) 를 찾는다.
- 등수가 중복되는 국가의 공동 등수를 지정하기 위해 for문을 돌며 k국가의 모든 메달 수 가 같은 국가가 나오면 그 국가의 (index+1)등이므로 출력해준다.
3. 코드
n, k = map(int,input().split())
table = [list(map(int,input().split())) for _ in range(n)]
table.sort(key = lambda x: (-x[1], -x[2], -x[3]))
for i in range(n):
if table[i][0] == k:
# 국가번호
idx = i
for j in range(n):
# 중복 체크
if table[idx][1:] == table[j][1:] :
print(j+1)
break
'[알고리즘] > BOJ' 카테고리의 다른 글
[백준/Python] 7568번: 덩치 (BruteForce) (0) | 2023.02.28 |
---|---|
[백준/Python] 1978: 소수찾기 (0) | 2023.02.27 |
[백준/Python] 14593번: 2017아주대학교 프로그래밍 경시대회(Large) (0) | 2023.02.24 |
[백준/Python] 15905번: 스텔라(STELLA)가 치킨을 선물했어요 (람다함수 정렬) (0) | 2023.02.24 |
[백준/Python] 5533번 : 유니크 (이중리스트에서 중복체크) (0) | 2023.02.24 |