파이썬 내장 정렬함수를 못쓰게 되었으니,
직접 퀵함수를 구현하는건가 ?
내장 정렬함수 사용해서 해도 될것 같은디..
파이썬 내장을 잘 이해하고 있어서, 적재적소에 활용할 수 있는가
튜플을 잘 사용할 수 있는가
sort함수의 Key를 잘 활용할 수 있는가
students.sort(key=lambda x : (-int(x[1]), int(x[2]), -int(x[3]), x[0])
는 리스트의 각 원소 (x)
가 튜플 형태로 존재할때, 다음과 같은 우선순위에 맞게 정렬하겠다는 뜻이다.
(-int(x[1])
int(x[2])
int(x[3])
x[0]
n = int(input())
students = [] # 학생 정보를 담을 리스트
# 모든 학생 정보를 입력받기
for _ in range(n) :
students.append(input().split())
'''
정렬기준
1) 두번째 원소를 기준으로 내림차순
2) 두번재 원소가 같은 경우, 세번째 원소를 기준으로 오름차순 정렬
3) 세번째 원소가 같은 경우, 네번째 원소를 기준으로 내림차순 정렬
4) 네번째 원소가 같은 경우, 첫번째 원소를 기준으로 오름차순
'''
# 조건에 맞게 정렬하기
students.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
# 정렬된 학생 정보에서 이름만 출력
for student in students :
print(student[0])