BOJ 10825 국영수
                                            
                                                
                                                
                                                
                                                
                                                
                                                 4764 단어  2021.01.272021.01.27
                    
https://www.acmicpc.net/problem/10825
시간 1초, 메모리 256MB
input :
- N (1 ≤ N ≤ 100,000)
 - 이름, 국어, 영어, 수학 점수(1 <= 점수 <= 100)(이름은 알파벳 대소문자로 이루어진 문자열)
 
output :
- 정렬한 후 첫째 줄부터 N개의 줄에 걸쳐 각 학생의 이름을 출력
 
조건 :
- 국어 점수가 감소하는 순서로
 - 국어 점수가 같으면 영어 점수가 증가하는 순서로
 - 국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로
 - 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로 (단, 아스키 코드에서 대문자는 소문자보다 작으므로 사전순으로 앞에 온다.)
 
국어는 감소하는 순서 -> 내림차순 정렬.
영어 점수 증가하는 순서 -> 오름차순 정렬
수학 점수 감소하는 순서 -> 내림차순 정렬
이름은 사전식 -> 오름차순 정렬
import sys
n = int(sys.stdin.readline())
data = [[] for i in range(n)]
for i in range(n):
    temp = sys.stdin.readline().split()
    data[i].append(temp[0])
    
    for j in range(1, len(temp)):
        data[i].append(int(temp[j]))
        
data.sort(key=lambda x:(-x[1], x[2], -x[3], x[0]))
for item in data:
    print(item[0])

Author And Source
이 문제에 관하여(BOJ 10825 국영수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsin2475/BOJ-10825-국영수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)