문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.


import sys


input = sys.stdin.readline


def solution():
    n = int(input())

    nums = []
    for _ in range(n):
        nums.append(int(input()))

    sorted_nums = sorted(nums)
    for num in sorted_nums:
        print(num)


if __name__ == "__main__":
    solution()

해설

  • 먼저 줄의 개수(n)을 입력 받고, n만큼 숫자를 입력 받아 nums 리스트에 저장한다.
    • n의 최대값이 1,000,000이므로 python에서 제공하는 input 함수로 입력 받는 경우 시간 초과 오류가 발생한다.
    • 따라서 sys.stdin.readline을 사용한다.
  •  sorted 함수를 사용하여 오름차순으로 정렬한 뒤 리스트를 순회하면서 하나씩 출력한다.
복사했습니다!