📖 문제 링크
https://www.acmicpc.net/problem/10825
10825번: 국영수
첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1
www.acmicpc.net
👩💻 문제풀이
sort함수 활용 문제이다.
파이썬 sort함수는 정렬 기준을 key로 설정이 가능하다.
여기서 다중 조건일 경우, lambda식에 각 조건의 인덱스를 입력해준다.
내림차순일 경우 조건앞에 -를 붙여준다.
✅ 최종 코드
import sys
n = int(input())
array = []
for i in range(n):
name, ko, en, math_score = sys.stdin.readline().split()
array.append([name, int(ko), int(en), int(math_score)])
array.sort(key = lambda x: (-x[1], x[2], -x[3], x[0]))
for i in range(n):
print(array[i][0])
'알고리즘 > Python' 카테고리의 다른 글
[백준/Python] 11652번: 카드 (0) | 2022.01.25 |
---|---|
[백준/Python] 10989번: 수 정렬하기 3 (0) | 2022.01.24 |
[백준/Python] 10814번: 나이순 정렬 (0) | 2022.01.24 |
[백준/Python] 11651번: 좌표 정렬하기 2 (0) | 2022.01.24 |
[백준/Python] 11650번: 좌표 정렬하기 (0) | 2022.01.23 |