문제
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 함수를 사용하여 오름차순으로 정렬한 뒤 리스트를 순회하면서 하나씩 출력한다.