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 |
댓글