본문 바로가기

코딩테스트/BOJ

[백준/파이썬] 10814번: 나이순 정렬 (Python)

문제

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

풀이

 - 정렬

 

 나이, 이름, 인덱스를 리스트에 담아서 lambda표현식으로 정렬했다.

 

처음에 나이를 문자열로 받아 정렬시켰더니 오답이었다. 나이는 숫자로 형변환 뒤 정렬시켜 주었다.

코드

arr = []
for i in range(int(input())):
    # 나이, 이름
    str1 = list(map(str, input().split()))
    # 인덱스
    str1.append(i)
    # [나이, 이름, 인덱스]
    arr.append(str1)

# lambda표현식으로 정렬 - 나이 오름차순, 인덱스 오름차순
arr.sort(key=lambda x: (int(x[0]), int(x[2])))

for item in arr:
    print(item[0],item[1])