업데이트:

카테고리: ,

1. 문제

문제는 링크에 들어가면 있다.

2. 정답 코드

문제의 내 정답 코드는 다음과 같다.

import sys
read = sys.stdin.readline

N = int(read())
age_array = [0]*201 # 1살~200살
member_array = []
for i in range(N):
    age,name = read().split()
    age = int(age)
    ordered = age_array[age] + 1
    age_array[age] += 1
    member_array.append([age,name,ordered])
member_array.sort(key=lambda x:(x[0],x[2]))
# member_array.sort(key=lambda x:x[2])
for j in range(N):
    print("{} {}".format(member_array[j][0],member_array[j][1]))




3. 문제 풀이

이 문제는 전형적인 sort(key)를 사용하는 문제다. 이 때, 나이와 이름만 주어지기 때문에 나이순으로 정렬한 뒤, 가입된 순으로 정렬하려면 따로 가입된 순으로 정렬해주기위한 번호를 붙여야한다. 그래서 나는 age_array를 만들어서 번호를 붙여주었다.

그리고 member_array를 만들어서 정보를 저장하고 sort(key)를 사용해서 나이(x[0])로 정렬하고 그 안에서 가입된 순(x[2])으로 정렬하는 것을 수행했다.

최대 1 분 소요