홍우진의 개발 일기장

[백준] 2535번: 아시아 정보올림피아드/ 파이썬 본문

알고리즘/백준

[백준] 2535번: 아시아 정보올림피아드/ 파이썬

홍우진 2022. 9. 20. 21:33
728x90
반응형

문제 링크


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

 

2535번: 아시아 정보올림피아드

첫 번째 줄에는 대회참가 학생 수를 나타내는 N이 주어진다. 단, 3 ≤ N ≤ 100이다. 두 번째 줄부터 N개의 줄에는 각 줄마다 한 학생의 소속 국가 번호, 학생 번호, 그리고 성적이 하나의 빈칸을 사

www.acmicpc.net

풀이 코드


N = int(input())
students = []

for student_index in range(N):
    student_info = list(map(int, input().split(' ')))
    students.append(student_info)

students.sort(key=lambda student: student[2], reverse=True)

gold = students[0]
silver = students[1]
bronze = 0

for student_index in range(2, len(students)):
    if gold[0] == silver[0] == students[student_index][0]:
        continue
    else:
        bronze = students[student_index]
        break

print(gold[0], gold[1])
print(silver[0], silver[1])
print(bronze[0], bronze[1])

코드 해석


소속 국가 번호, 학생 번호, 성적을 받아 int 형으로 변환하고 리스트 형태로 students 리스트에 삽입한다.

성적순으로 내림차순으로 정렬한 뒤 금메달과 은메달을 지정하여준다.

그 후 동메달 자격이 있는 선수가 금, 은메달과 같은 국가 코드를 가지고 있는지 확인을 한 후

만약 가지고 있다면 continue, 아니라면 동메달을 선정한다.

 

728x90
반응형
Comments