1. 문제
2. 설명
입력되는 수를 배열로 받아 sort()를 사용하여 정렬하였다.
다만, 2750번과의 차이점은 N이 1,000,000까지라는 것이다.
2750번처럼 int(input())로 입력을 받으면 타임아웃이 뜬다.
이때,
import sys
sys.stdin.readline()을 사용하여 문제를 풀어주었다.
input() 이 sys.stdin.readline() 보다 느리다!
input() 내장 함수는 prompt message를 출력하고, 개행 문자를 삭제한 값을 리턴하기 때문
input() 과 sys.stdin.readline() 의 차이 :
1. input() 내장 함수는 parameter로 prompt message를 받을 수 있다. 따라서 입력받기 전 prompt message를 출력해야 한다.
(물론 prompt message가 없는 경우도 있다)
하지만, sys.stdin.readline()은 prompt message를 인수로 받지 않는다.
2. input() 내장 함수는 입력받은 값의 개행 문자를 삭제시켜서 리턴한다. 즉, 입력받은 문자열에 rstrip() 함수를 적용시켜서 리턴한다
반면에 sys.stdin.readline()은 개행 문자를 포함한 값을 리턴한다.
https://lute3r.tistory.com/m/240
결론)
sys.stdin.readline()을 사용하는 것이 시간을 줄일 수 있는 방법!
3. 코드
n = int(input())
a = []
for i in range (0,n):
num = int(input())
a.append(num)
a.sort()
for j in range (0,len(a)):
print(a[j])
import sys
sys.stdin.readline()
사용을 습관화하자!!!!!
'코딩테스트(python) > 백준' 카테고리의 다른 글
백준 20305번 파이썬 (0) | 2022.09.13 |
---|---|
백준 10989번 파이썬 (0) | 2022.09.12 |
백준 2750번 파이썬 (0) | 2022.09.12 |
백준 11829번 파이썬 (0) | 2022.09.12 |
백준 2447번 파이썬 (0) | 2022.09.07 |