BOJ/Python

백준 10814번 나이순 정렬 파이썬

띵지니어 2023. 1. 18. 22:02

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

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

www.acmicpc.net

 

내 코드

import sys

input = sys.stdin.readline

N = int(input())
member = []
for i in range(N):
    x, y = input().split()
    member.append([int(x), y, i])

result = sorted(member, key = lambda x: (x[0], x[2]))

for i in range(N):
    print(result[i][0], result[i][1])

Review

 

정렬의 기준만 정하면 쉽게 풀 수 있는 문제였다.

1. 나이순

2. 들어온 순서 순

으로 하면 간단하게 풀 수 있다.

result = sorted(member, key = lambda x: (x[0], x[2]))

 

람다 함수를 활용하여 키값을 변경해 주면 된다.

들어온 순서는 for 문을 돌릴 때 i 값을 따로 지정해 줘서 member 값에 넣어 줬다.

member = []
for i in range(N):
    x, y = input().split()
    member.append([int(x), y, i])