https://www.acmicpc.net/problem/10814
# 백준 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] : 이름 으로 해줍니다.
'알고리즘 > 백준' 카테고리의 다른 글
[Python] 백준 파이썬 25501 재귀의 귀재 (0) | 2022.09.20 |
---|---|
[Python] 백준 파이썬 18870 좌표 압축 (0) | 2022.09.19 |
[Python] 백준 파이썬 1181 단어 정렬 (0) | 2022.09.17 |
[Python] 백준 파이썬 11651 좌표 정렬하기2 (0) | 2022.09.16 |
[Python] 백준 파이썬 11650 좌표 정렬하기 (0) | 2022.09.15 |