본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #10814: 나이순 정렬

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

 

10814번: 나이순 정렬

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

www.acmicpc.net

 

[정답]

 

1. 온라인 저지 회원의 수 N 을 입력받는다.

2. 회원들의 정보를 저장할 per_list 을 정의한다.

3. N개의 for문을 돌면서 회원의 age와 name을 입력받고 age를 int형으로 바꾸어 [age,name]형태로 per_list에 추가한다. ( age를 int형으로 바꾸지 않고 제출하였더니 '틀렸습니다.'가 나왔다. )

4. per_list를 lambda함수를 이용해 나이 순, 나이가 같으면 가입한 순으로 정렬한다.

5. 최종적으로 한 줄에 한 명씩 나이와 이름을 공백으로 구분해 per_list를 출력한다.

 

 per_list.sort( key=lambda x : x[0] )

: lambda 함수를 사용하여 per_list를 정렬한다. 나이 순, 나이가 같으면 가입한 순으로 정렬한다.

( 나이순으로 하기 위해 x[0]를 해주었고, 가입한 순은 딱히 정렬기준을 정의하지 않아도 적용된다. )