티스토리 뷰

PS

Python sys.stdin과 sys.stdin.readline()

on1ystar 2019. 6. 28. 00:05
728x90
반응형

파이썬에서 입력 값을 받을 때 보통 input()을 이용한다. 하지만 알고리즘에서 input()을 이용할 때 종종 시간 초과가 발생하기 때문에 sys 모듈의 sys.stdin을 사용한다.

※ 이 이유는 아래 글 참고

https://www.acmicpc.net/board/view/855

 

글 읽기 - 2010번 시간초과 질문입니다.ㅠㅠ (python)

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net

 

sys.stdin.readline()

import sys

for x in sys.stdin.readline():
    print(x)

이 메소드는 입력한 한 라인을 interable한 컨테이너에 저장한다. 띄어쓰기와 \n까지 포함하므로 split()을 이용하는 것이 좋다.

만약 여러 줄을 입력받고 싶으면 sys.stdin을 이용하자

 

sys.stdin

import sys

for line in sys.stdin:
    print(line)

 

입력 받은 값 리스트로 저장하기

여러줄 입력 받은 값 저장하기

참고로 sys.stdin은 위처럼 ^Z를 입력받으면 종료해주기 때문에 임의의 여러 줄을 입력받아야 하는 문제에서 유용하다.

728x90
반응형
댓글