Python/백준 문제 풀이

[BOJ] 10951번 A+B - 4 풀이

서원두 2022. 7. 15. 00:14

[BOJ] 10951번 A+B - 4 문제

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