정렬 알고리즘
Q
A
입력을 문자열로 받았고, key = lambda x : (-x[1], x[2], -x[3], x[0]) 를 하기 위해서 국어점수, 영어점수, 수학점수를 int로 정수형으로 변환시켰다.
입력이 10만 이상이라면 input보다 sys쓰는 습관을 들이자! 시간 10배정도 차이난다.
코드
import sys
n = int(sys.stdin.readline().rstrip())
array = [0] * n
for i in range(n):
array[i] = list(sys.stdin.readline().rstrip().split())
array[i][1] = int(array[i][1])
array[i][2] = int(array[i][2])
array[i][3] = int(array[i][3])
answer = sorted(array, key = lambda x : (-x[1], x[2], -x[3], x[0]))
for i in range(n):
print(answer[i][0])