junyub2   2년 전

다른 예제를 넣어서 해봐도 나이순으로 정렬에 이름은 등록된 순서대로 나오는데 무슨 이유로 틀렸는지 감이 안잡히네요..

import sys
n = int(sys.stdin.readline())
lst = [0 for _ in range(n)]

for i in range(n):
    lst[i] = list(sys.stdin.readline().split())

lst = sorted(lst, key = lambda x : x[0])
for i in range(n):
    print(lst[i][0], lst[i][1])

limepencil   2년 전

제가 보기엔 lst에서 받아와서 정렬할때 나이를 int형으로 안바꿔 주어서 그런것 같습니다. string 정렬과 int정렬을 좀 다릅니다. 20 이 9보다 앞에 오는 이런 상황이 발생하기 때문에 lst[i][0] = int(lst[i][0]) 를 7번 뒤에 넣으시면 통과하실것 같습니다.

junyub2   2년 전

감사합니다 !! for문 사용해서 말씀하신대로 고쳤는데 맞았어요 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.