반응형
백준 10825번 문제입니다. (solved.ac)기준 실버 4 문제입니다.
https://www.acmicpc.net/problem/10825
이 문제는 key = lambda를 이용하여 아주아주 쉽게 풀 수 있기 때문에 key = lambda를 잘 모르시는 분들이라면 아래에 링크에서 한 번 보고 오시면 이해가 훨씬 수월하실 겁니다!
key = lambda의 사용법(기준을 정하여 정렬하기!!!)
파이썬에서는 key = lambda를 이용하여 정렬 우선순위를 정해서 아주아주 쉽게 풀 수 있는 문제입니다!
import sys
# 학생의 수
n = int(sys.stdin.readline().rstrip())
info = []
# 학생의 수만큼 이름 국어 영어 수학 순으로 입력 받음
for _ in range(n):
# 공백으로 데이터를 구분하여 입력받아 리스트로 변환
input_data = list(sys.stdin.readline().rstrip().split())
# 이름은 string으로 두고 나머지 점수들은 int로 변환하여 info에 넣어줌.
info.append((input_data[0], int(input_data[1]), int(input_data[2]), int(input_data[3])))
# 국어 점수가 감소하는 순으로 / -student[1]
# 영어 점수가 증가하는 순으로 / student[2]
# 수학 점수가 감소하는 순으로 / -student[3]
# 모든 점수가 같으면 이름이 사전순으로 증가하는 순서로 / student[0]
# 단, 아스키 코드에서 대붐자느 소문자보다 작으므로 사전순으로 앞에옴
ans = sorted(info, key= lambda student : (-student[1], student[2], -student[3], student[0]))
for student in ans :
# 정렬된 값을 이름(student[0])만 출력
print(student[0])
반응형
'알고리즘 문제풀이[Algorithm]' 카테고리의 다른 글
[백준] 1654번 랜선 자르기(파라메트릭 서치)(Python - 파이썬) (0) | 2022.01.28 |
---|---|
[백준] 2512번 예산(파라메트릭 서치)(Python - 파이썬) (0) | 2022.01.27 |
[이코테] 고정점 찾기(이것이 코딩테스트다 with 파이썬)(Python - 파이썬) (0) | 2022.01.24 |
[백준] 10816번 숫자 카드 2(Python - 파이썬) (0) | 2022.01.22 |
[백준] 18310번 안테나(Python - 파이썬) (0) | 2022.01.18 |
최근댓글