본문 바로가기

백준 파이썬 코딩

백준 10814 나이순 정렬 파이썬

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

핵심 키워드는 입력된 데이터를 잘 정제해 파이썬내에 sort를 적극적으로 활용하는 것이다.

나이가 같은 경우에 입력된 순서가 앞에 오는 것을 먼저 출력하니 [나이,[입력된 순서,이름]]이런 식으로 리스트를 만들어주면 나이가 같은 경우 입력된 순서가 작은 순서대로 정렬됨을 볼 수 있다.

import sys #빠른 입력을 사용해주기 위한 import
a =int(input())
s = []
for i in range(a): 
    b,c = (sys.stdin.readline().split())
    s.append([int(b),[i,c]])#리스트를 [나이 ,[입력된 순서,이름]]이런 형식으로 저장해준다.
s.sort() 정렬을 해준다.
for i in range(len(s)):
    print(s[i][0],s[i][1][1])#나이와 이름을 출력해준다