For Programmer

백준 10814번 파이썬 문제풀이(정렬 - 나이순 정렬) 본문

코팅테스트/백준 문제 모음

백준 10814번 파이썬 문제풀이(정렬 - 나이순 정렬)

유지광이 2021. 10. 10. 14:42
728x90

 

코드

n = int(input())

array = []
for i in range(n):
    age, name = map(str, input().split())
    array.append((int(age), name)) #나이와 이름을 튜플형태로 저장

array.sort(key=lambda array:array[0]) #나이순대로만 정렬
#array.sort() 를 하면 안된다.


for i in array:
    print(i[0], i[1])

-> 여기서 중요한점은 나이순대로만 정렬을 하면 된다는 것이다. 하지만 여기서 람다형태로 키값에 array[0]으로 나이값만 주지 않고 그냥 array.sort()를 해버린다면 모든 원소를 비교하기 때문에 나이가 같으면 문자열이 빠른 순으로 정렬을 해버린다. 

하지만 문제에서는 나이가같으면 등록순서로 그대로 출력을 하라고 했기 때문에 나이값으로만 정렬을 해야한다는 것이다.

728x90
Comments