문제

풀이
먼저 N값을 입력받아 학생의 수를 확인한다.
이후 각 학생의 이름과 점수를 입력받고 (이름, 점수)로 하여 튜플구조로 List에 저장한다.
여기서 튜플구조란 순서가 있는 자료형이다. (이름, 점수)처럼 순서를 지정해서 저장하는 것이다.
정렬하는 방식에서 Lambda x: (-x[1], x[0])방식을 사용하였는데 -x[1] 두 번째 값인 점수를 기준으로 내림차순 정렬을 진행하고, 이후 점수가 같은 구역에서 x[0], 즉 이름에 대한값을 오름차순으로 정렬하는 것이다.
이후 리스트에서 첫 번째 값을 출력한다.
코드
# 입력 개수 받기
n = int(input())
# 이름:점수 형식으로 리스트에 저장
name_score_list = []
for _ in range(n):
name, score = input().split() # 입력된 값을 공백으로 나누기
score = int(score) # 점수를 정수로 변환
name_score_list.append((name, score)) # 튜플로 (이름, 점수) 저장
# 점수를 내림차순으로, 점수가 같으면 이름순으로 정렬
sorted_list = sorted(name_score_list, key=lambda x: (-x[1], x[0]))
# 결과 출력
first = sorted_list[0]
print(first[0])'Algorithm(알고리즘) > Baekjoon(백준)' 카테고리의 다른 글
| BEAKJOON 4949 Python (S4) (0) | 2024.11.22 |
|---|---|
| BAEKJOON 1436 Python (1) | 2024.11.21 |
| BAEKJOON 9093 Python (0) | 2024.11.20 |
| BAEKJOON 2914 Python (1) | 2024.11.19 |
| BAEKJOON 1439 Python (0) | 2024.11.18 |
