파이썬에서 기본적으로 사용하게되는 list 자료형 [3, 2, 1] 은 nlogn 시간복잡도를 가진 정렬함수 sort를 제공한다. 따라서 나도 단순히 input , print로 입력을 받고 출력하는 코드를 작성했지만 fail이 떴다.
import sys
n = int(sys.stdin.readline())
board = [int(sys.stdin.readline()) for _ in range(n)]
board.sort()
for i in range(n):
sys.stdout.write(str(board[i])+'\n')
문제는 input 과 print함수는 느리다는 것이다.
따라서 sys.stdin.readline()과 sys.stdout.write을 사용해 줘야 한다.
sys.stdin.readline()의 경우 \n 개행문자까지 입력으로 포함되기 때문에 int 함수로 바꿔주면 정상적으로 숫자만 남게된다.
sys.stdout.write 은 print 처럼 개행을 포함하고 있지 않아서 따로 \n을 추가해줘야 한다.