[백준] Python - 10814번: 나이순 정렬

·2024년 7월 24일
0

코테 풀기

목록 보기
27/28
post-thumbnail

10814번

문제/입력/출력

문제 바로가기

백준 10814번


✏️관련 개념

  • lambda 이용
people.sort(key=lambda x: (x[0], x[2]))

이전 append를 통해 people리스트는 (age 나이, name 이름, i 인덱스)형식의 튜플로 이루어져있음
이 상태에서 우선 x[0](나이)로 정렬 후, x[2](인덱스-입력된 순서)로 정렬하는 방식으로 풀어냄

people = [(25,"Alice", 1), (21, "Minsu", 2), (21, "Bob", 3)] #예시: 튜플을 담고 있는 배열
  • 튜플
    리스트: [], 튜플: ()
    리스트: 요솟값의 수정, 삭제 가능
    튜플: 요솟값을 바꿀 수 없음
    t1 = (1, 2, "a", "b")
    t1[0] // 1
    t1[3] // "b"

💡구현 코드

import sys
input = sys.stdin.read
data = input().splitlines()

n = int(data[0])

people = []
for i in range(1, n + 1):
    age, name = data[i].split()
    age = int(age)
    people.append((age, name, i))

people.sort(key=lambda x: (x[0], x[2]))

for person in people:
    print(person[0], person[1])

0개의 댓글