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.)