python
[python] 반복적인 입력에는 input() 대신 sys.stdin.readline 로 변경
hs_seo
2018. 6. 18. 16:20
파이썬에서 데이터를 입력받을 때 input()을 이용한다.
input()을 이용하면 프롬프트를 이용한 입력을 받을 수 있고, 형변환이 되는 이점이 있다.
하지만 대량의 데이터를 반복적으로 입력받을 때 input()을 이용하지 않고, sys.stdin.readline() 을 이용하면 성능이 향상된다.
백준 1931 문제를 같은 코드로 입력 함수만 다르게 사용한 결과 아래와 같이 10배의 속도 향상(3928MS -> 336MS)을 얻을 수 있었다.
8954131 | 1931 | 맞았습니다!! | 50344 KB | 336 MS | Python 3 / 수정 | 491 B | 41분 전 | |
8953912 | 1931 | 맞았습니다!! | 50344 KB | 3928 MS | Python 3 / 수정 | 508 B | 1시간 전 |
자바에서 Scanner를 이용한 입력보다 BufferedReader 를 이용한 입력이 빠른것처럼
파이썬도 input()을 이용하는 것보다 sys.stdin.readline()을 이용하는 것이 훨씬 빠르다.
반응형