본문 바로가기
코딩테스트/백준

백준 > 단계별로 풀어보기 > 반복문 > 10951번: A+B -4

by 나는야석사 2024. 7. 16.

문제

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

입력

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

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

출력

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

예제 입력 1 복사

1 1
2 3
3 4
9 8
5 2

예제 출력 1 복사

2
5
7
17
7

 

이 문제도 전 문제와 같이 while 문을 이용하고, A와 B의 범위가 주어졌으니 그걸 이용해서 break를 하면 된다고 생각했다.

import sys

while True:
    a, b = map(int, sys.stdin.readline().split())
    
    if a == 0 or b > 10:
        break
    print(a+b)

그런데 런타임에러가 떠서 구글링을 통해 다른 블로그들을 찾아보니, try except문으로 푸는 문제였다.

즉 입력이 얼마나 들어올지 모르는 상황에서, while문이 끝나는 조건도 제공되어 있지 않다.

문제에 EOF에 대해 알아보자고 되어 있었는데, 들여쓰기인줄 알았다. 그런데 입력이 끝날 때까지 출력하는 것의 줄임말이였다. 

try, except 문으로 입력이 들어오지 않을 때 while 문을 종료하면 된다. 

try: try 안에 코드를 실행하고

except: 그 외의 것들은 break(except 문 안의 코드 실행)

 

import sys

while True:
    try:
        a, b = map(int, sys.stdin.readline().split())
        print(a+b)
    
    except:
        break

정답 코드