조금 늦기도 했고 저도 잘 알지 못하지만 보이는 것 하나만 말씀드리겠습니다!
7번째 줄의 for 반복문은 cont번 수행되는데요, 이것은 문제에서 N으로 주어진 값과 같습니다.
문제에서 N의 범위는 N(1 ≤ N ≤ 500,000) 으로 아마 채점을 할 때는 굉장히 큰 N의 값이 입력될 것으로 생각되네요.
결국 입력을 무진장 많이 받아야 하는 상황에서는 input 함수를 사용하는 것보다 sys 모듈의 함수를 사용하는 것이 훨씬 속도가 빠른 것으로 알고 있습니다.
import sys 를 통해 sys 모듈을 불러오시고,
input( ) 대신 sys.stdin.readline( ) 함수를 사용하시면 시간 초과 문제를 해결할 수 있지 않을까 조심스레 의견 드려봅니다.
조금 덧붙이자면 numbers 라는 변수를 굳이 생성하지 않고
for i in range(1, cont + 1):
lst.append(int(sys.stdin.readline()))
위와 같은 방식으로 입력 받는 값들을 바로 리스트에 추가할 수 있습니다.
물론 sys.stdin.readline() 자리에 input() 을 그대로 사용할 수도 있구요!
doflsdl1008 1년 전
예시에 대한 출력은 올바르게 나오는데 시간초과가 뜹니다. 어떻게 해결해야하나요?