[BOJ] 10814. 나이순 정렬

Jimeaning·2023년 4월 2일
0

코딩테스트

목록 보기
43/143

Python3

문제

입출력

입출력 예시

주요 포인트

나이가 같다면 입력 받은 순서 그대로 출력해야 한다.
배열에 age와 name을 넣을 때 i도 같이 넣어준다.

ans.append([int(age), i, name])
ans.sort()

혹은 람다식을 이용하는 방법도 있다.

ans.append([int(age), name])
ans.sort(key=lambda x:x[0]) # age, name 중 age만 비교

age는 반드시 int 형변환을 해주어야 한다. str로 출력하면 답이 맞아도 틀렸다고 뜬다고 한다.

최종 코드

import sys

n = int(sys.stdin.readline())
ans = []

for i in range(n):
    age, name = map(str, sys.stdin.readline().split())
    ans.append([int(age), i, name])

ans.sort()

for i in range(n):
    print(ans[i][0], ans[i][2])

피드백

처음에 코드를 짰을 때 같은 나이인 인덱스가 뒤바껴서 출력됐다. 찾아보니 i값도 함께 저장해서 출력해야 들어간 순서대로 나오는 것이었다.

profile
I mean

0개의 댓글