파이썬에서 데이터를 입력받을 때 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()을 이용하는 것이 훨씬 빠르다.
반응형
'python' 카테고리의 다른 글
[python] PIP에 패키지 등록하는 방법 (0) | 2018.10.16 |
---|---|
[python] 셔뱅(Shebang)을 이용하여 파이썬 실행 버전 지정하기 (0) | 2018.08.08 |
[python] 현재폴더의 파일이름, 파일명 일괄 변경하기 (2) | 2018.04.23 |
[python] [bs4] BeautifulSoup([your markup]) 경고 수정하기 (0) | 2017.12.10 |
[python] multiprocessing 을 이용한 스레드 처리 (0) | 2017.12.07 |