1. 백준, 나이순 정렬, 10814번
2. 생각해보자
a) 기본조건
- 첫 입력값 N은 주어질 데이터의 개수
- N개의 나이와 이름을 한 쌍으로 하는 데이터가 주어진다
- 나이를 기준으로 오름차순 정렬시킨다.
- 나이가 같으면 가입한 순서로 정렬시킨다.
b) 이렇게 풀면 될까?
- 튜플을 이용하여 데이터의 짝을 형성시킨다.
- 나이를 기준으로 정렬한다.
- 나이가 같은 경우, 입력된 순서를 기준으로 정렬한다.
3. 해설 및 코드분석
n = int(input())
array = []
for _ in range(n):
data = input().split(' ')
array.append((int(data[0]), data[1])) # 입력값을 튜플 형식으로 저장
array = sorted(array, key=lambda x: x[0])
# 람다식에서 x = array를 의미한다.
# key는 정렬 기준값이 된다.
# x[0]은 array[0]을 의미하며, array[0]의 index값이 key에 저장된다.
# array[0]의 index값 = key 값 = 정렬 기준값
for i in array:
print(i[0], i[1])
'Algorithm > 알고리즘 문제풀이' 카테고리의 다른 글
오늘의 알고리즘(4월 29일) (0) | 2021.04.29 |
---|---|
오늘의 알고리즘(4월 28일) (0) | 2021.04.28 |
오늘의 알고리즘(4월 16일) (0) | 2021.04.16 |
오늘의 알고리즘(4월 15일) (0) | 2021.04.15 |
오늘의 알고리즘(4월 14일, feat.Union Find) (0) | 2021.04.14 |
댓글