정렬 알고리즘을 사용한 문제를 풀던 중 시간초과가 발생했다.
정렬을 기본 sort로 한건 스킵하고 시간초과 발생 원인이 입력받는 부분일 수도 있다는 글을 보았다.
해당글
데이터의 수n을 입력받고 n개의 데이터들을 입력받는 문제가 있다고 하자.
a = list()
n = int(input())
for i in range(n):
a.append(int(input()))
위와 같이 반복문을 통해 입력받을 경우 시간초과가 발생하게 된다.
시간 초과 해결 방법은 sys.stdin.readline()을 사용하는 것이다.
위의 반복문 코드를 sys.stdin.readline()을 사용하면 다음과 같이 바꿀 수 있다.
import sys
n = int(sys.stdin.readline())
data = [int(sys.stdin.readline().strip()) for i in range(n)]
print(data)