최재영의 개발 일지
GitHubLinkedIn

[PS] 입력(input)

Python1분 읽기

기본

input()은 항상 문자열을 반환한다.

s = input()
n = int(input())
x = float(input())

빠른 입력

sys.stdin.readline()

input()은 느리다. sys.stdin.readline()을 사용하면 입력을 빠르게 받을 수 있다.

import sys
input = sys.stdin.readline

주의: sys.stdin.readline()은 줄 끝에 \n이 붙는다. 그래서 항상 .strip()을 붙이는 습관을 들이는 것이 좋다.

import sys
input = sys.stdin.readline

s = input().strip()

sys.stdin.read()

입력량이 매우 많을 때 sys.stdin.readline()으로도 느리다면 sys.stdin.read()를 사용할 수 있다. 이것은 모든 입력을 한 번에 읽는다. 하지만 쓸 일이 없을 것 같으니 일단은 패스.

한 줄에 여러 값

a, b = map(int, input().split())        # 여러 값 할당 시에는 map까지만 사용
arr = list(map(int, input().split()))   # 배열 저장 시에는 list도 사용

여러 줄 입력

n번 반복 입력

n = int(input())
for _ in range(n):
  a, b = map(int, input().split())

2차원 배열

n, m = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(n)]

EOF까지 입력

import sys

data = sys.stdin.read().split()