반응형
# 입력받는 부분
n = int(input())
students = []
for i in range(n):
students.append(input().split())
# 문제에 제시된 조건대로 정렬
students.sort(key = lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
# 정렬 후 결과 출력
for student in students:
print(student[0])
이 문제에 제시된 조건대로 정렬하는 것만 해주면 되는 문제였습니다. sort() 함수에 원하는 조건만 넣어주면 알아서 조건에 맞춰 정렬됩니다. 조건이 하나인 경우만 다뤄봤었는데 이 문제를 통해 sort()를 사용하여 여러 조건을 적용시켜보았습니다. 여러 조건을 줄 때는 key = lambda x: (조건1, 조건2, .... 조건n) 형태로 조건을 주면 됩니다.
내림차순으로 정렬할 때는 - 만 붙여주면 됩니다. 이 문제에서는 국어 점수 기준 내림차순 정렬이었으므로 -int(x[1])이 된 것입니다.
마지막으로 정렬한 값들을 출력시켜주면 끝입니다.
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준/Python] 특정 거리의 도시 찾기 (0) | 2021.07.24 |
---|---|
[백준/Python] 플로이드 (0) | 2021.07.04 |
[백준/Python] 럭키 스트레이트 (0) | 2021.05.14 |
[백준/Python] 카드 정렬하기 (0) | 2021.05.08 |
[백준/Python] 안테나 (0) | 2021.05.07 |