반응형
문제
https://www.acmicpc.net/problem/10825
10825번: 국영수
첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1
www.acmicpc.net
코드
n = int(input())
score = list()
for _ in range(n):
s = input().split()
score.append(s)
score.sort(key = lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0]))
for i in score:
print(i[0])
설명
우선 n과 주어진 점수들을 넣을 리스트를 하나 생성해 준다.
n의 수만큼 학생들의 정보를 입력받아서 공백을 기준으로 나눈 리스트를 score에 넣어준다.
score를 주어진 조건에 맞게 정렬하는데,
이 때, lambda를 이용해서 한 번에 주어진 조건을 모두 사용할 수 있다.
감소하는 순서는 -를 붙여서 정렬해 준다.
정렬된 리스트에서 학생들의 이름만 출력해 준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2491: 수열 (2) | 2023.05.26 |
---|---|
[파이썬, Python] 백준 14916: 거스름돈 (0) | 2023.05.25 |
[파이썬, Python] 백준 2644: 촌수계산 (0) | 2023.05.23 |
[파이썬, Python] 백준 11931: 수 정렬하기 4 (0) | 2023.05.22 |
[파이썬, Python] 백준 1789: 수들의 합 (0) | 2023.05.19 |