본문 바로가기

알고리즘 문제풀이

백준 10814 나이순정렬 Python 정렬 실버5

정답 풀이

n = int(input())
member = []
for i in range(1,n+1):
    age, name = map(str,input().split())
    age = int(age)
    member_one = [age,name,i]
    member.append(member_one)
member.sort(key=lambda x: (x[0],x[2]))
# print(member)
for j in member:
    print(*j[:2])

틀린 풀이 :

age를 int로 하지 않았기 때문에, 10 20 100 이 있다면,

10 100 20 으로 정렬이 이루어지고있었음

'''
나이 오름차순
+ 나이가 같아면  입력된 순서'''
n = int(input())
member = []
for i in range(1,n+1):
    member_one = list(input().split())
    member_one.append(i)
    member.append(member_one)
member.sort(key=lambda x: (x[0],x[2]))
# print(member)
for j in member:
    print(*j[:2])