Notice
Recent Posts
Recent Comments
Link
pugnet
[Python] 입력받기 - input(), sys.stdin.readline() 본문
파이썬에서 입력을 받을때는 보통 input()을 사용한다.
하지만, 알고리즘 문제를 풀면서 더 빠르게 입력을 받을 수 있는 파이썬의 표준 라이브러리가 있어서 찾아봤다.
input() 사용법
num = int(input())
input()은 parameter로 prompt message를 받기 때문에 입력 받기 전에 prompt message를 출력해야한다. 또한, rstrip()을 실행해서 입력 받은 문자열의 개행문자를 삭제한 후 반환한다.
반면에 sys.stdin.readline()은 prompt message를 parameter로 받지 않고, 입력 받은 개행문자를 그대로 반환한다.
input()은 위와 같은 작업들을 진행하기때문에 sys.stdin.readline()의 속도가 더 빠르다.
sys.stdin.readline() 사용법
import sys
message = sys.stdin.readline() # Hello, World! 입력
print(message) # "Hello, World!\n"
number = int(sys.stdin.readline()) # 1 입력
print(number) # 1
아래와 같이 사용할 수도 있다.
from sys import stdin
message = stdin.readline() # Hello, World! 입력
print(message) # "Hello, World!"
number = int(stdin.readline()) # 0 입력
print(number) # 0
한줄에 여러개의 입력 받기
from sys import stdin
A, B = map(int, stdin.readline().split()) # split()을 사용해서 공백을 기준으로 문자열을 분리해서 리스트에 담는다.
# 입력받은 정수를 리스트에 담기
C, D = list(int, stdin.readline().split())
참고