[백준] 10825 : 국영수

이상훈·2023년 7월 20일
0

알고리즘

목록 보기
4/57
post-thumbnail

국영수

풀이

 파이썬에서는 정렬 기준을 key = lambda로 지정해줄 수 있다. 기존에는 정렬 기준이 1개인 문제만 봤었는데 2개 이상이어서 처음에는 당황했지만 괄호 안에 기준을 나열하면 되는 거라 생각보다 쉽게 풀었다. 하지만 시간초과 판정을 받았는데 반복문으로 여러 줄 입력받는 상황에서는 sys.stdin.readline()을 사용해야 시간초과 판정이 발생하지 않는다고 한다. 앞으로는 간단한 입력이 아닌 이상 sys.stdin.readline()를 사용해야겠다.

import sys
n = int(input())
data = []

for i in range(n):
    name, kor, eng, math = sys.stdin.readline().split()
    data.append([name, int(kor), int(eng), int(math)])

data.sort(key = lambda x: (-x[1], x[2], -x[3], x[0]))
for i in data:
    print(i[0])

시간복잡도 : O(nlogn)

profile
Problem Solving과 기술적 의사결정을 중요시합니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

유익한 글 잘 봤습니다, 감사합니다.

답글 달기