[Python] sys.stdin.readline()

수깡·2023년 3월 22일
0

파이썬

목록 보기
1/6
post-thumbnail

https://www.acmicpc.net/problem/1620
나는 이제 막 파이썬으로 코테준비를 하기 시작했고, 그 전까지는 자바로 코딩테스트 준비를 했었다. 그래서 파이썬에도 익숙해질 겸 백준 실버 문제 간단한 것들을 풀다가 갑자기,,., 분명 이렇게 푸는 게 맞는데 자꾸 시간초과가 떠서 대체 뭐가 문제인가 했는데 sys.stdin.readline()을 안쓴 것이 문제...

이유?

반복문으로 여러 줄을 입력받아야 할 때 빠르게 받아오기 위해서!

  • input의 경우에는 prompt message를 받아 출력할 수 있지만, sys.stdin.readline()은 그렇지 않으므로 속도가 빠르다.
  • 또한 input은 사용자가 입력하는 값을 하나하나 버퍼에 저장하고 개행문자를 만나면 끝낸다. 하지만 sys.stdin.readline()은 개행 문자를 포함해 하나의 줄을 한 번에 버퍼에 입력받는다.

사용법

import sys로 sys 모듈을 불러오고, input() 대신 sys.stdin.readline()을 이용하여 입력을 받는다.
input()과 마찬가지로 str형으로 받아지고, 한 줄 단위로 입력받기 때문에 개행 문자가 포함된다.

import sys 

input = sys.stdin.readline
N,M = map(int,input().split())

이렇게 input을 sys.stdin.readline으로 지정하여 input 대신 sys.stdin.readline으로 사용할 수 있다.

0개의 댓글