본문 바로가기
알고리즘/[python] 백준 BOJ

[python] 백준 10825 국영수

by Alan_Kim 2023. 3. 16.
728x90
반응형

https://www.acmicpc.net/problem/10825

 

10825번: 국영수

첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1

www.acmicpc.net

 

문제 해결

sort의 key를 잘 활용하여 정렬할 수 있는가 묻는 문제

입력 단계에서 정수, 문자열 모두 가져오기 때문에 정렬할 때 key 안에 구성의 type을 신경써줘야한다.

n이 크기 때문에 시간단축 해줄수록 좋다.

 

CODE

import sys
input = sys.stdin.readline
n = int(input())
A = [list(input().rstrip().split()) for _ in range(n)]
A.sort(key= lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
for i in range(len(A)):
    print(A[i][0])
728x90
반응형

'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글

[python] 백준 2212 센서  (0) 2023.03.17
[python] 백준 9506 약수들의 합  (0) 2023.03.16
[python] 백준 2812 크게 만들기  (0) 2023.03.16
[python] 백준 3109 빵집  (0) 2023.03.16
[python] 백준 5397 키로거  (0) 2023.03.15

댓글