n = int(input())
1~2줄이 입력으로 들어온다면 위의 방법으로 해도 무리가 없다.
하지만 엄청 많은 입력이 반복문으로 들어온다면 어떻게 해야할까?
import sys
line = sys.stdin.readline().rstrip()
이런 식으로 sys 라이브러리에 정의되어 있는 sys.stdin.readline().rstrip()
함수를 이용하면 된다.
마지막의 rstrip()
은 문자열 마지막의 공백 문자 \n
를 제거하기 위해 사용하는 것이다.
입력의 개수가 많은 경우에는 위의 방법을 사용해야 시간 초과를 막을 수 있다!
import sys
lines = sys.stdin.readlines()
위와 같아보이지만 여기에는 끝에 s가 붙는다!
이렇게 하면 파일의 끝까지 입력을 한 번에 받아온다.
EOF(파일의 끝)를 판단할 수 있는지 묻는 문제에서 요긴하게 쓰인다.
받아온 입력을 활용하는 코드는 다음과 같다.
import sys
lines = sys.stdin.readlines()
for line in lines:
A, B = map(int, line.split())
print(A+B)
위의 코드는 백준 10951의 풀이 코드이기도 하다.
# input()
a, b = map(int, input().split()
# readline()
import sys
a, b = map(int, sys.stdin.readline().split())
# input()
data = list(map(int, input().split())
# readline()
import sys
data = list(map(int, sys.stdin.readline().split()))