티스토리 뷰
📌문제
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오.
📌풀이
회원들의 나이와 이름을 입력받을 때 입력 순서 i를 추가하여 하나의 튜플로 묶어서 저장
sort 함수의 key로 튜플을 설정해서 첫번째 정렬기준을 나이, 두번째 정렬기준을 입력 순서로 설정
members를 age, _, name으로 언패킹하여 출력
📌코드
n = int(input())
members = []
for i in range(n):
age, name = input().split()
members.append((int(age), i, name)) # i를 추가하여 입력 순서 저장
# age를 기준으로 정렬, age가 같다면 입력 순서 i를 기준으로 정렬
members.sort(key=lambda x: (x[0], x[1]))
for age, _, name in members:
print(age, name)
'코딩테스트' 카테고리의 다른 글
[백준/파이썬] 18870 좌표 압축 (0) | 2025.02.10 |
---|---|
[백준/파이썬] 1181 단어 정렬 (0) | 2025.02.07 |
[백준/파이썬] 11650 좌표 정렬하기 (0) | 2025.02.06 |
[백준/파이썬] 10989 수 정렬하기 3 (0) | 2025.02.05 |
[백준/파이썬] 25305 커트라인 (0) | 2025.02.04 |