728x90
https://www.acmicpc.net/problem/10814
10814번: 나이순 정렬
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을
www.acmicpc.net
나이순으로 정렬하고 나이가 같을 시 입력순으로 정렬하는 문제
# 10814번 문제 : 나이순 정렬
# 나이와 이름을 입력받고 나이순으로 정렬하되 나이가 같으면 먼저 입력받은순으로 정렬한다
import sys
n = int(input())
answer=[]
for i in range(n): # 튜플형식의 리스트에 담는다
age,name = sys.stdin.readline().split()
answer.append((int(age),name))
answer = sorted(answer, key= lambda x: x[0]) # 튜플의 첫번째 인자인 나이순으로 정렬하면 sorted()함수로 인해 같아도 입력순으로 정렬
for j in range(n): # 출력
print(answer[j][0], answer[j][1])
정렬 key값이 2개여서 sorted()와 람다식을 이용해서 풀수도있지만 내장함수인 sorted()자체에서 정렬시 key값이 같은건 입력순으로 정렬해준다
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
| 백준의 알고리즘 10989번 문제(python) (0) | 2021.07.25 |
|---|---|
| 백준의 알고리즘 2751번 문제(python) (0) | 2021.07.24 |
| 백준의 알고리즘 1181번 문제(python) (0) | 2021.07.15 |
| 백준의 알고리즘 11650번 문제(python) (0) | 2021.07.13 |
| 백준의 알고리즘 2108번 문제(python) (0) | 2021.07.13 |