알고리즘/백준
[Python] 백준 파이썬 10814 나이순 정렬
dding96
2022. 9. 18. 09:23
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
# 백준 10814 나이순 정렬
n = int(input())
i = 1 # 1 가입 순서
user_list = []
for _ in range(n):
age, name = input().split()
user_list.append([int(age), name, i]) # 2
i += 1
user_list.sort(key = lambda x : (x[0], x[2])) # 3
for i in user_list:
print(i[0], i[1])
문제 조건
1. 나이순 정렬
2. 나이가 같으면 가입순 정렬
코드 설명
# 1 : 가입 순서로 입력이 들어오기 때문에 가입 순서를 표시할 i를 정의 해줍니다. i는 1부터 시작합니다.
# 2 : 반복문에서 사용자 리스트에 정보를 추가할 때 [나이, 이름, 가입 순서] 로 입력해줍니다. 그리고 i에 1을 더해줍니다.
# 3 : x[0] : 나이, x[2] : 가입 순서 이므로 sort(key = lambda) 를 이용해 정렬 해줍니다.
# 4 : 출력은 x[0] : 나이, x[1] : 이름 으로 해줍니다.