문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
10951문제는 문자열을 입력받아 EOF(End Of File; 파일의 끝)를 판단할 수 있는지를 묻는 문제입니다. 입력으로 테스트 케이스의 개수가 주어지지 않으므로 EOF를 판단해서 프로그램을 종료해야 합니다. 파이썬으로 EOF를 판단하는 방법은 다음의 두 가지 방법이 있습니다.
while True:
try:
a, b = map(int, input().split())
print(a+b)
except EOFError:
break
import sys
lines = sys.stdin.readlines()
for line in lines:
A, B = map(int, line.split())
print(A+B)
첫 번째 방식은 예외처리로 EOF를 판단하는 방법입니다. input() 함수는 파일의 끝일 때 EOFError를 발생합니다. 계속 돌아가는 반복문 안에 try, except를 사용해서 EOFError를 처리합니다(저는 여기서 except EOFError 대신 그냥 except를 사용하기도 합니다).
두 번째 방식은 sys라이브러리의 readlines()를 사용하는 방법입니다. sys.stdin.readlines()를 사용해서 파일의 끝까지 가져올 수 있으며 가져온 파일내용을 파이썬 문법을 사용해서 줄단위로 처리할 수 있습니다. lines는 파일 전체가 들어있는 변수이고 line은 for문을 통해서 첫 번째 줄부터 마지막 줄까지 한 줄씩 들어가는 변수입니다.
'개발 > 알고리즘' 카테고리의 다른 글
[BOJ(백준) 5622] 다이얼 - 파이썬의 switch와 딕셔너리 (0) | 2021.05.28 |
---|---|
[BOJ(백준) 4673] 셀프넘버 - 파이썬 풀이 (1) | 2021.05.24 |
[BOJ(백준) 4344] 평균은 넘겠지 - 파이썬 풀이 (0) | 2021.05.23 |
[BOJ(백준) 1110] 더하기 사이클 - 파이썬 풀이 (0) | 2021.05.22 |
[BOJ(백준) 2753] 윤년 계산하기 - 파이썬 풀이 (0) | 2021.05.20 |