파이썬으로 코딩테스트를 하면서 값을 입력 받을 때 보통 input()를 사용합니다.
하지만 input()으로 인한 시간 초과 에러가 발생하는데요.
바로 반목문 등으로 여러 줄을 입력 받을 때 입니다.
입력을 1~2줄 받을 때는 input()을, 여러 줄**을 받을 때는 sys.stdin.readline()을 사용합니다.
import sys
a = int(sys.stdin.readline())
❕ sys.stdin.readline()
은 문자열로 저장되기 때문에 int
로 형변환 필요!
import sys
a, b, c = map(int, sys.stdin.readline().split())
❕ map()
로 a,b,c에 대해 각각 int
로 형변환!
❕ split
로 문자열 나누기!(공백 또는 특정 값 기준)
import sys
data = list(map(int, sys.stdin.readline().split()))
❕ map()
객체를 list()
로 변환!
data = []
n = int(sys.stdin.readline())
for i in range(n):
data.append(list(map(int,sys.stdin.readline().split())))
❕ list
인 data에 입력받은 정수 n개의 list
를 입력(각 요소의 길이가 동일한 2차원 리스트 생성)
import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
❕ strip()
: 문자열 맨 앞/뒤 공백 문자 제거 함수
❕ n개 크기의 리스트에 앞뒤 공백 제거한 문자열 저장