백준 10814 나이순 정렬 (파이썬)


10814 나이순 정렬 문제 바로가기


접근방식

  • 나이를 기준으로 오름차순, 동갑이라면 먼저 가입된 순(입력순서)대로 정렬하는 것이 조건이다.
  • 위와 같은 정렬 조건은 .sort()함수의 key를 통하여 제어했다.
  • 나이와 이름 모두 문자열로 입력받도록 했는데 정수로 변경없이 정렬해도 주어진 예시의 결과값 차이는 없었으나 백준 사이트에서는 틀렸다는 결과를 받았다. 따라서 정렬시 나이를 정수형으로 바꾸어주었다.

파이썬 코드

import sys

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

# 아래 주석처리한 코드를 사용하면 결과는 제대로 나오나 백준 사이트에서는 틀렸다는 결과가 나온다.
# values.sort(key=lambda x:x[0])
values.sort(key=lambda x:int(x[0]))

for i in range(n):
    print(' '.join(values[i]))





© 2020.09. by 다로

Powered by theorydb