DHistory
[Baekjoon] Sort - 10825 국영수 본문
문제
10825번: 국영수
첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1
www.acmicpc.net
풀이
"""
1. 국어 점수가 감소하는 순서로
2. 국어 점수가 같으면 영어 점수가 증가하는 순서로
3. 국어 / 영어점수가 같으면 수학 점수가 감소하는 순으로
4. 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로
"""
import sys
n = int(sys.stdin.readline().rstrip())
scores = []
for _ in range(n):
input = sys.stdin.readline().rstrip().split()
scores.append((input[0], *list(map(int, input[1:]))))
def solution(scores):
return map(lambda x: x[0], sorted(scores, key=lambda x: (-x[1], x[2], -x[3], x[0])))
print(*solution(scores), sep='\n')
채점 결과

'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] Sort - 11652 카드 (0) | 2023.09.11 |
---|---|
[Baekjoon] Sort - 1302 베스트셀러 (0) | 2023.09.09 |
[Baekjoon] Sort - 1764 듣보잡 (0) | 2023.09.09 |
[Baekjoon] Sort - 10816 숫자 카드 2 (0) | 2023.09.09 |
[Baekjoon] Sort, Binary Search - 1920 수 찾기 (0) | 2023.09.09 |