Stay Hungry Stay Foolish

BOJ 코딩테스트/Silver

BOJ 10814번 : 나이순 정렬 (Python/자료구조/Silver 5)

dev스카이 2023. 10. 31. 00:20
 

10814번: 나이순 정렬

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

www.acmicpc.net


설명

문제 : 회원들의 나이 순대로 정렬(오름차순), 나이가 같을 경우 가입한 순으로 정렬(내림차순)

 

풀이

Sort() 사용

1. 나이와 이름을 리스트에 추가한다. 나이는 정수형으로 변환시킨다.

2. 첫 번째 인자를 기준으로 정렬 즉, 나이순으로 정렬한다.

3. 리스트에서 값을 하나씩 빼내서 출력한다.

 

리스트.sort(key=lambda x:x[index]) - index를 기준으로 오름차순 정렬  

 

sort 정리 👇

 

[자료구조] sort, sorted, 정렬, 이중 리스트 정렬 (Python)

정렬 ✔ list.sort() - 오름차순으로 정렬 list = [3, 4, 2, 1, 5] list.sort() print(list) 출력 결과 [1, 2, 3, 4, 5] ✔ list.sort(reverse = True) - 내림차순으로 정렬 list = [3, 4, 2, 1, 5] list.sort(reverse=True) print(list) 출력 결

dev-cloud.tistory.com

 

Solution

import sys
input = sys.stdin.readline

n = int(input())
member = []
for _ in range(n):
    age, name = map(str, input().split())
    member.append((int(age), name)) 

member.sort(key=lambda x:x[0])
for i in member:
    print(*i)