본문 바로가기
Etc./Python

[Python] sys.stdin.readline

by ahj 2021. 10. 5.

Python으로 백준 알고리즘 문제 풀이 중

동빈나 님의 알고리즘 강의를 보고 계수 정렬을 구현해봤다.

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

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net

분명히 O(N)으로 코드를 짜놨는데도 자꾸자꾸 시간 초과가 나오는 거였다. 코드에 오류가 있나 6번을 날렸다..ㅠ

그러던 중 질문 게시판에서 시간 초과의 가장 큰 오류는 입력에 문제가 있다고 했다.

출력은 print와 sys.stdout.write가 큰 속도 차이가 없는 것으로 보인다. 입력이 문제인데

모두들 하는 얘기나 파이썬으로 코드 짠거 보면 input 대신 sys.stdin.readline으로 써있던데 이유가 있었다.

input은 느리다!!

앞으로는 input으로 하지 말고 stdin으로 입력하자

'Etc. > Python' 카테고리의 다른 글

[Python] boolean 자료형  (0) 2021.10.07
[Python] for문, tuple 활용  (0) 2021.10.07
[Python] 2차원 list  (0) 2021.09.22
[Python] input  (0) 2021.09.09
[Python] Function missing arguments  (0) 2021.09.09

댓글