Coding Test/Baekjoon

[백준] 10814번 나이순 정렬 - Python

라딘 2022. 9. 15. 14:21

 

[백준] 10814번 나이순 정렬 - Python

 

 

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

https://www.acmicpc.net/problem/10814

 

 

문제

온라인 저지에 가입한 회원 수 N과 가입한 사람들의 나이와 이름이 가입한 순서대로 주어집니다.

이때, 회원들의 나이를 오름차순으로 하고 나이가 같을 경우 먼저 가입한 순서대로 정렬해주세요.

 

 

아이디어

정렬해야 하는 요소는 1) 나이, 2) 가입 순서의 2가지이므로,

sort 함수에 key를 여러개 입력하는 방식으로 해결할 수 있습니다.

이때, 정렬에 필요한 가입 순서는 리스트 요소에 추가해줍니다.

 

 

코드

N = int(input())
info = []

for i in range(N):
    info_list = list(map(str, input().split()))
    info_list.append(i)
    info.append(info_list)
    
result = sorted(info, key = lambda x: (int(x[0]), x[2]))

for j in result:
    print(j[0], j[1])