본문 바로가기
Algorithm

[구현/정렬] 백준 10814 나이순 정렬 - Python

by jangThang 2022. 2. 7.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    10814번: 나이순 정렬

    온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     회원들의 이름과 나이가 주어집니다. 나이에 대해 오름차순으로 정렬한 결과를 출력합니다. 단, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬해야 합니다.

     

    2022.02.07 - [Algorithm] - [구현/수학] 백준 5635 생일 - Python

     

    [구현/수학] 백준 5635 생일 - Python

    [ Contents ] 1. 문제 (링크 참조) 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 2. 문제 풀이  학

    star7sss.tistory.com

     위 문제와 비슷합니다. 단, 나이가 같으면 먼저 가입한 사람이 앞에 온다는 점이 다릅니다. 이러한 정렬을 '안정 정렬(Stable sort)'라고 하며, 순서가 뒤바뀌면 안됩니다.

     

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    N = int(input())
    member = []
    for i in range(N):
        age, name = input().split()
        member.append([int(age), name])
    
    member.sort(key=lambda x: x[0]) # 나이순대로 정렬
    
    for age, name in member:
        print(age, name)

     member.sort()를 해버리면, 1번 항목인 name까지 고려해서 가나다순으로 정렬합니다. key파라미터를 통해서 0번 항목인 나이만 고려해서 정렬하도록 지정합니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글