출처 : https://www.acmicpc.net/problem/2535
2535번: 아시아 정보올림피아드
첫 번째 줄에는 대회참가 학생 수를 나타내는 N이 주어진다. 단, 3 ≤ N ≤ 100이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 학생의 소속 국가 번호, 학생 번호, 그리고 성적이 하나의 빈칸을 사
www.acmicpc.net


각 나라별 최대 획득 가능 메달 수는 2개
금이랑 은의 나라가 같으면 동은 무조건 다른 나라
일단 리스트의 리스트로 입력을 받아서
람다로 2번째 인덱스(점수) 기준으로 내림차순 정렬
arr.sort(key=lambda x:x[2], reverse=True)
# BOJ2535 아시아 정보올림피아드
N = int(input())
arr = [] # input 리스트
for i in range(N):
i = list(map(int, input().split()))
arr.append(i)
arr.sort(key=lambda x:x[2], reverse=True) # 점수 기준, 내림차순 정렬
print(arr[0][0], arr[0][1], sep=" ")
print(arr[1][0], arr[1][1], sep=" ")
a = 0
while a + 2 < N:
if arr[0][0] != arr[1][0]:
print(arr[2 + a][0], arr[2 + a][1], sep=" ")
break
else: # 금과 은이 같은 나라일때
if arr[0][0] == arr[2 + a][0]: # 동도 같은 나라
a += 1 # 한 칸 옆으로
else: # 다르면 출력
print(arr[2 + a][0], arr[2 + a][1], sep=" ")
break
'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ / 백준] 2870 수학숙제 python / 파이썬 (0) | 2022.06.07 |
|---|---|
| [BOJ / 백준] 10987번 모음의 개수 python / 파이썬 리스트 안 요소 찾기 (0) | 2022.06.03 |
| [BOJ / 백준] 7510번 고급 수학 python / 파이썬 개행 문자 출력 (0) | 2022.05.28 |
| [BOJ / 백준] 11720번 수학의 합 python / 파이썬 (0) | 2022.05.27 |
| [BOJ / 백준] 11721번 열 개씩 끊어 출력하기 python / 파이썬 (0) | 2022.05.26 |
댓글