문제
https://www.acmicpc.net/problem/10825
10825번: 국영수
첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1
www.acmicpc.net
풀이
Python 다중 정렬
sort 라이브러리 사용
labmda로 튜플의 몇 번째 원소부터 정렬할 지 명시
오름차순은 그대로, 내림차순은 - 붙여서
소스코드
n = int(input())
a = []
for _ in range(n):
data = list(input().split())
a.append((data[0], int(data[1]), int(data[2]), int(data[3])))
result = sorted(a, key = lambda x: (-x[1], x[2], -x[3], x[0]))
for r in result:
print(r[0])
'💡Problem Solving > BOJ' 카테고리의 다른 글
[BOJ 1715] 카드 정렬하기 (Python) (0) | 2022.11.19 |
---|---|
[BOJ 18310] 안테나 (Python) (0) | 2022.11.19 |
[BOJ 18428] 감시 피하기 (Python) (0) | 2022.11.19 |
[BOJ14888] 연산자 끼워 넣기 (Python) (0) | 2022.11.17 |
[BOJ 18405] 경쟁적 전염 (Python) (0) | 2022.11.17 |