Keep going

[백준] 2751번 파이썬(python) - 수 정렬하기 2 본문

코딩/백준

[백준] 2751번 파이썬(python) - 수 정렬하기 2

Howard Schultz 2020. 8. 13. 21:44
반응형

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

 

2751번: 수 정렬하기 2

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

www.acmicpc.net

2751번을 2750번과 같이 접근하려다가 시간초과가 났다. 2750번은 첫째줄에 주어진 수의 개수가  1 N 1,000 이었는데, 2751번은 1 ≤ N ≤ 1,000,000 이었기 때문에 단순히 input만을 적용해서 하면 안됐다. 이럴 때는 sys.stdin.readline을 이용하면 된다. input보다 컴퓨터 언어 그 자체에 더 가까워서 처리속도가 빠르다.

import sys

x = int(sys.stdin.readline())
num_list = []
for i in range(x):
    num_list.append(int(sys.stdin.readline()))
num_list1 = sorted(num_list)
for i in range(len(num_list)):
    print(num_list1[i])

1. sys를 import하여 사용할 수 있도록 한다.

2. 수(x)를 sys.stdin.readline()을 통해 입력 받는다.

3. num_list를 통해 숫자 리스트를 만들고, x만큼 반복하여 수를 입력 받는다.

4. num_list를 오름차순으로 정렬한 리스트를 num_list1으로 설정한다.

5. 리스트의 요소들을 한 줄에 하나씩 출력한다.

반응형