💻 입력 조건
💻 출력 조건
💻 입력 예시
12
Junkyu 50 60 100
Sangkeun 80 60 50
Sunyoung 80 70 100
Soong 50 60 90
Haebin 50 60 100
Kangsoo 60 80 100
Donghyuk 80 60 100
Sei 70 70 70
Wonseob 70 70 90
Sanghyun 70 70 80
nsj 80 80 80
Taewhan 50 60 90
💻 출력 예시
Donghyuk Sangkeun Sunyoung nsj Wonseob Sanghyun Sei Kangsoo Haebin Junkyu Soong Taewhan
📖 문제 해결
파이썬 리스트의 내장함수 sort()
의 parameter인 key
의 사용법을 숙지하고 있다면 해결할 수 있는 문제입니다. key를 이용하기 위한 함수 score_key
가 여러 개의 값을 묶은 튜플을 반환해주면 원소 순서대로 기준으로 삼아 정렬을 하게 됩니다. 이때 튜플의 원소 앞에 -
를 붙이게 된다면 내림 차순으로 정렬을 하게 됩니다. 위와 같은 sort()
함수의 특징들을 참고하여 문제를 해결하였습니다.
# n을 입력받기
n = int(input())
# 이름, 국어, 영어, 수학 점수 입력받기
score = []
for i in range(n):
score.append(list(map(str,input().split())))
# key 활용을 위해 작성한 함수
def score_key(list_):
return (-int(list_[1]), int(list_[2]), -int(list_[3]), list_[0])
# score_key의 return 값을 기준으로 정렬
score.sort(key = score_key)
# 정렬을 한 순서대로 이름을 출력
for inform in score:
print(inform[0])