Python/백준 문제 풀이
[BOJ] 10951번 A+B - 4 풀이
서원두
2022. 7. 15. 00:14
A와 B를 입력받아 A+B를 출력하는 문제다. 다만 예시 입력을 보면 알다시피 입력이 중간에 멈추고 이를 끝내는 방식이 없기에 프로그램을 EOFError 처리를 통해 멈춰야 한다!
if __name__ == '__main__':
while True:
try:
A, B = map(int, input().split())
print(A + B)
except EOFError:
break
모든 메이저 언어는 EOF 에러를 처리해주는 도구들이 존재한다. Python은 try - except문을 이용해서 처리할 수 있다.
try - except문은 간단하다. 일단 try문 안의 것을 하고, 그 사이에 어떤 에러가 발생하면 except문으로 빠진다.
except 뒤에 어떤 error인지를 명시해주면 그 에러일 때에만 try문을 벗어난다. 아무것도 없다면 모든 error에 대해서 try문을 빠져나간다.
여기서는 EOFError만 예상이 되므로 이를 적시해준 것뿐이다. 그냥 except: 으로만 써줘도 문제는 없다.
이 try - excpet문을 무한 루프문(while True:)에 넣으면 try문 안에서 계속 입력을 받을 것이다. 그러다가 더 이상 입력이 없다면 EOFError를 뱉을 것이다.
여기서는 왜 빠른 입력인 sys.stdin.readline()을 안 썼는지 알고 싶다면 [파이썬 기초 문법 #1] 기본 입출력 - 들어가기 앞서를 참고하길 바란다.
728x90