백준

2751:수 정렬하기 2

rabbit-jun 2026. 2. 5. 10:44

링크: https://www.acmicpc.net/problem/2751

문제

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

 


입력

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

 


출력

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

 


정답:

import sys
data = list(map(int,sys.stdin.read().split()))
data = data[1:]
data.sort()
for i in data:
        print(i)
  1. 값을 한번에 입력받고 정렬 후 출력

 

더 나은 정답:

import sys
data = list(map(int,sys.stdin.read().split()))
data = data[1:]
data.sort()
sys.stdout.write('\n'.join(map(str, data)) + '\n')
  1. 위와 같은 방식이지만 출력도 한번에 하여 속도를 더 높였다

틀린 정답:

n = int(input())
x = sorted([int(input()) for i in range(n)])
for i in x:
    print(i)
  1. 로직은 맞지만 입출력에 시간이 많이 쓰여서 시간초과 된다

 

반응형