목차

나이순 정렬

ps
링크acmicpc.net/…
출처BOJ
문제 번호10814
문제명나이순 정렬
레벨실버 5
분류

기초

시간복잡도O(nlogn)
인풋사이즈n<=100,000
사용한 언어Python
제출기록37144KB / 148ms
최고기록116ms
해결날짜2021/08/22

풀이

코드

코드 1 - 내장 정렬

"""Solution code for "BOJ 10814. 나이순 정렬".

- Problem link: https://www.acmicpc.net/problem/10814
- Solution link: http://www.teferi.net/ps/problems/boj/10814
"""

import sys


def main():
    N = int(sys.stdin.readline())
    lines = [sys.stdin.readline() for _ in range(N)]
    print(''.join(sorted(lines, key=lambda x: int(x.split()[0]))))


if __name__ == '__main__':
    main()

코드 2 - 버켓 정렬

"""Solution code for "BOJ 10814. 나이순 정렬".

- Problem link: https://www.acmicpc.net/problem/10814
- Solution link: http://www.teferi.net/ps/problems/boj/10814
"""

import sys

MAX_AGE = 200


def main():
    N = int(sys.stdin.readline())
    buckets = [[] for _ in range(MAX_AGE + 1)]
    for _ in range(N):
        line = sys.stdin.readline()
        buckets[int(line.split()[0])].append(line)
    print(''.join(''.join(bucket) for bucket in buckets))


if __name__ == '__main__':
    main()