알고리즘/이것저것

[Python] 백준 10825번: 국영수

아뵹젼 2021. 3. 9.

 

소스코드

import sys
n = int(sys.stdin.readline())
student = []
for i in range(n) :
    [a,b,c,d] = list(sys.stdin.readline().split())
    student.append([a,b,c,d])
student.sort(key = lambda x : (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
for i in range(n) :
    print(student[i][0])

 

sort의 lambda 조건식을 사용할 줄만 알면 되는 문제이다.

key = lambda 뒤에 인자를 조건의 우선순위대로 차례로 입력하면 된다.

그리고 내림차순은 (-) 를 붙혀준다.

이름을 제외한 과목의 성적은 int 형 시켜줘야 올바른 정렬이 가능하다. 

그리고 문자열 정렬은 원래 대문자 -> 소문자로 오름차순 정렬되므로 추가로 해줄 건 없다..!

 

 

 

댓글