자기개발👨‍💻/코딩 알고리즘

[python] 백준 10814 나이순 정렬

천숭이 2021. 1. 31. 16:55

www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

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

www.acmicpc.net

n=int(input())
people=[]

for i in range(n):
    age,name=input().split()
    age=int(age)
    people.append([age,name])
    
people.sort(key=lambda x:x[0])

for i in range(len(people)):
    print(people[i][0],people[i][1])

나이순 동시에 이름순 정렬이면 key값을 줄 필요가 없지만,

나이순으로만 정렬하고 나이가 같으면 입력한 순으로 출력하기에 key값을 나이로만 줘야 한다.

따라서 people은 [ [21,k] , [21,j] , [20,d] ] 형태이기때문에 key=lambda x:x[0] # 첫번째 인덱스가 나이

로 작성