-
10825. 국영수Algorithm/Baekjoon 2023. 2. 5. 03:35
재밌게 봤던 웹툰 방과후 전쟁활동에서 저런 캐릭터 이름이 있었는데...파이썬 sorted 함수를 사용하면 어렵지 않게 풀 수 있는 문제이다.
sorted 함수에서는 key값으로 파이썬 lambda 함수를 넣어 원하는 조건대로 정렬이 가능하다.
정렬의 우선 순위를 담은 튜플을 리턴하는 람다함수를 전달한다.
- 응용하여 문자열 길이순 정렬 등도 할 수 있음.
import sys n = int(sys.stdin.readline()) main_list = [0 for _ in range(n)] for i in range(n) : [name, kor, eng, math] = sys.stdin.readline().split() main_list[i] = [name, int(kor), int(eng), int(math)] sorted_list = sorted(main_list, key = lambda x : (-x[1], x[2], -x[3], x[0])) for score in sorted_list : print(score[0])
참고할 점은 각 점수들을 int 형으로 바꿔주어야 한다는 것. 처음에 쉽다고 너무 생각없이 풀었다가 이것때문에 한번 오답이 나왔다...
'Algorithm > Baekjoon' 카테고리의 다른 글
1946. 신입사원 (0) 2023.02.05 12840. 창용이의 시계 (0) 2023.02.05 10804. 카드 역배치 (0) 2023.02.05 2751. 수 정렬하기 2 (0) 2023.02.05 2750. 수 정렬하기 (0) 2023.02.05