====== 국영수 ====== ===== 풀이 ===== * 그냥 시키는 대로 정렬하면 되는 문제. * python에서 여러개의 기준으로 정렬할 경우에는, sort가 stable하다는 점을 이용해서 정렬을 여러번 하는 방법과, 키를 여러개의 기준에 대한 튜플로 만들어주는 방법이 모두 가능하다. 이 경우는 키를 튜플로 만들어서 해결. * 정렬을 여러번 해서 해결한 문제는 [[ps:problems:boj:1431]]이 있다. * 시간복잡도는 O(nlogn) ===== 코드 ===== """Solution code for "BOJ 10825. 국영수". - Problem link: https://www.acmicpc.net/problem/10825 - Solution link: http://www.teferi.net/ps/problems/boj/10825 """ import sys def main(): N = int(sys.stdin.readline()) students = [sys.stdin.readline().split() for _ in range(N)] students.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0])) print('\n'.join(name for name, *_ in students)) if __name__ == '__main__': main() {{tag>BOJ ps:problems:boj:실버_4}}