이번에는 나이순으로 정렬을 하되, 나이가 같으면 먼저 입력된 순으로 정렬되게끔 하는 것이다.
import sys
N = int(sys.stdin.readline())
people = []
for i in range(N):
age, name = sys.stdin.readline().split()
people.append([int(age), name, i])
people.sort(key=lambda x: (x[0], x[2]))
for j in people:
j[0] = str(j[0])
print(' '.join(j[:2]))
먼저 입력된 순으로 정렬되게끔 하는 것은 애초에 입력할때, people
리스트에 i
값도 같이 통과시키고, lambda
를 통해 i
값 순서대로 정렬하는 것도 같이 구현해주면 된다. 마지막에는 i
값은 포함이 안된 두 인덱스들을 ' '.join()
을 통해 출력하는 것으로 했다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 15650번> 파이썬 - N과 M(2) (0) | 2020.12.13 |
---|---|
<백준 문제풀이: 15649번> 파이썬 - N과 M(1) (0) | 2020.12.12 |
<백준 문제풀이: 1181번> 파이썬 - 단어 정렬 (0) | 2020.12.11 |
<백준 문제풀이: 11651번> 파이썬 - 좌표 정렬하기 2 (0) | 2020.12.10 |
<백준 문제풀이: 11690번> 파이썬 - 좌표 정렬하기 (0) | 2020.12.09 |