흰 스타렉스에서 내가 내리지

[BOJ] 10825번 국영수 본문

Problem Solving

[BOJ] 10825번 국영수

주씨. 2022. 1. 2. 22:47
728x90

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

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1

www.acmicpc.net

 

from operator import itemgetter

n = int(input())
data = []
for _ in range(n):
    name, kor, eng, math = input().split()
    data.append([int(kor), int(eng), int(math), name])


    
data.sort(key = itemgetter(3))
data.sort(key = itemgetter(2), reverse=True)
data.sort(key = itemgetter(1))
data.sort(key = itemgetter(0), reverse=True)

for d in data:
    print(d[3])
from operator import itemgetter

n = int(input())
data = []
for _ in range(n):
    name, kor, eng, math = input().split()
    data.append([int(kor), int(eng), int(math), name])



for key, reverse in ((3, False), (2, True), (1, False), (0, True)):
    data.sort(key = itemgetter(key), reverse = reverse)


for d in data:
    print(d[3])

어떤 키값에 대하여 정렬을 하고, 값이 같으면 다른 키값으로 정렬이 되어야 하는 경우, 뒤에꺼부터 먼저 정렬해 나감.

'Problem Solving' 카테고리의 다른 글

주어진 N의 크기에 맞는 Time Complexity는?  (0) 2022.01.02
[BOJ] 2178번 미로 탐색  (0) 2022.01.02
[BOJ] 9663번 N-Queen  (0) 2022.01.02
[BOJ] 2110번 공유기 설치 ★  (0) 2022.01.02
[BOJ] 1715번 카드 정렬하기  (0) 2022.01.02