G Y U L O G

백준 알고리즘 규코드

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.

예제 입력

1 1
2 3
3 4
9 8
5 2

예제 출력

2
5
7
17
7

규코드

1
2
3
4
5
6
7
8
keyValue = True
 
while keyValue:
    try:
        a, b = map(int, input().split())
        print(f"{a + b}")
    except EOFError:
        keyValue = False
cs

 

파이썬은 C와 달리 scanf에서 EOF값을 받는 기능이 없습니다. 그래서 try - except로 예외처리를 해줘야합니다.

 

인터프리터 언어 자체가 기본적으로 할 일만 하고 죽어버리는 본질을 가지고 있어서 EOF개념이 모호하긴 합니다만 그래도 알아두어야 하죠.

 

EOF는 End Of File 의 줄임말, 파일의 끝이므로 더 이상 데이터를 읽을 수 없다는 것을 명시적으로 나타내는 표시입니다.

 

C언어에서는 아래와 같이 while문을 사용하면 됩니다.

 

1
2
3
while (scanf("%d %d",&a,&b) != EOF) {
//code block
}
cs

 

이번 문제의 핵심은 무한 루프가 안되게 하는 것입니다. 

 

문제 속에 설명은 안되어있지만 문제 소개에서 'EOF를 알아보세요'라고 적힌 것을 보면 알 수 있습니다.

 

"댓글, 공감 버튼 한 번씩 누르고 가주시면 큰 힘이 됩니다"

공유하기

facebook twitter kakaoTalk kakaostory naver band