해당 문제는 더하기 연산을 하면 되는 단순한 문제처럼 보인다.
하지만, 이 문제의 포인트는 처음에 몇개의 연산을 해야하는지, 제한을 주지 않았다.
그렇기에, input의 끝, EOF 까지 input을 받아야한다.
import sys
lines=sys.stdin.readlines()
for line in lines:
A,B=map(int,line.split())
print(A+B)
#================
while True:
try:
a,b=map(int,input().split())
print(a,b)
except EOFError:
break
두 가지 방법으로 해당 문제를 해결 할 수 있다.
lines에서 모든 줄의 input을 받는 거다.
이 때 사용하는 함수가 sys.stdin 모듈의 readlines(num)인데, 이 함수는 num번째 index까지 내용을 모두 입력받는다.
default가 -1이여서, 따로 설정하지 않으면 끝가지 입력받는다.
각 줄의 line을 받아서, 출력한다.
두번재 방법은, 계속계속 while True 반복문을 통해 받다가,
이제 EOF, end of file에서 오류가 뜰 때, EOFError를 try, except 문으로 빼주는 것이다.
EOF까지 도착하면, 해당 오류가 발생해서
(try문은 오류가 나기 전가지는 정상적으로 작동하다가,
만약 오류가 발생하면, except로 보낸다.
except 에서 해당 오류를 명시하면, 명시한 오류가 발생할 때 해당 문장이 실행된다.)
'Computer Science > Algorithm' 카테고리의 다른 글
BOJ 9466: 텀 프로젝트 [Python 3] (0) | 2023.01.05 |
---|---|
BOJ 1644: 소수의 연속합 [Python 3] (0) | 2022.12.30 |
BOJ 15792: A/B -2 [Python 3] (0) | 2022.12.30 |
BOJ 15711: 환상의 짝꿍 [Python 3] (0) | 2022.12.29 |
BOJ 2206: 벽 부수고 이동하기 [Python 3] (1) | 2022.12.29 |