문제 링크 : https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
풀이
sort() 함수에 key로 lambda 함수를 넘겨주게 되면, 이 함수의 반환값을 기준으로 순서대로 정렬하게 된다.
여기서는 x[0], 즉 리스트의 첫번째 요소인 age를 기준으로 정렬하게 되는 것이다.
import sys
num = int(sys.stdin.readline())
arr = []
for _ in range(num):
age, name = map(str, sys.stdin.readline().split())
arr.append([int(age), name])
arr.sort(key=lambda x: x[0]) # 리스트의 첫번째 element인 age를 기준으로 오름차순으로 정렬
for age, name in arr:
print(age, name)
'알고리즘 > 알고리즘 문제 풀이' 카테고리의 다른 글
(Python) 백준 11651번 - 좌표 정렬하기 2 (0) | 2022.12.30 |
---|---|
(Python) 백준 11650번 - 좌표 정렬하기 (0) | 2022.12.30 |
(Python) 백준 7568번 - 덩치 (0) | 2022.12.28 |
(Python) 백준 2751번 - 수 정렬하기 2 (0) | 2022.12.27 |
(Python) 백준 1978번 - 소수 찾기 (0) | 2022.12.26 |