[Python3] 입력받기 sys.stdin.readline()

Song_Song·2021년 4월 19일
0

알고리즘 문제를 풀다가 입력을 받기 위해 input()을 사용하니 시간초과가 났다.
특히 반복문으로 여러 줄을 받는 경우에는 시간초과가 나기 쉽다.

sys.stdin.readline()를 사용하면 문제를 해결할 수 있다.

하나의 문자열 입력받기

import sys
a = sys.stdin.readline()

sys.stdin.readline()는 줄단위로 입력을 받기 때문에 개행문자도 함께 입력값으로 받아온다.

하나의 정수 입력받기

import sys
a = int(sys.stdin.readline())

여러개의 정수 입력받기

import sys
a,b,c = map(int,sys.stdin.readline().split())

map()은 반복 가능한 객체(리스트 등)에 대해 각각의 요소들을 지정된 함수로 처리해주는 함수이다.

split()은 문자열을 나눠주는 함수로, 괄호 안에 특정 값을 넣어주면 그 값을 기준으로 문자열을 나누고, 아무 값도 넣어주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 나눈다.

임의의 정수 개수를 한번에 입력받아 list형태로 변환하기

import sys
data = list(map(int,sys.stdin.readline().split()))

map()은 객체형태로 받아오기 때문에 list()함수를 사용해서 list형태로 바꿔준다

profile
성장을 위한 정리 블로그

0개의 댓글