반응형
백준 10952번 / A+B : https://www.acmicpc.net/problem/10952
이 문제는 그동안 풀어본 A+B를 출력하는 프로그램과 같으나, 차이점이 있다면 테스트 케이스의 개수가 미리 주어지지 않고, 입력의 마지막 줄에는 0 두 개가 들어오며 이 입력이 주어지면 프로그램을 종료해야 한다는 것이다.
입력의 종료 조건이 주어졌으므로, while 반복문을 사용하여 이 조건을 만족할 때까지 계속해서 입력을 받고 처리하는 방식으로 접근할 수 있다.
풀이의 흐름은 다음과 같다.
- 먼저 두 정수 A와 B를 한 번 입력받는다.
- while 루프의 조건으로 A와 B가 둘 다 0이 아닌 동안 반복하도록 설정한다.(문제에 따르면, "입력의 마지막에는 0 두 개가 들어온다"고 했으므로, a != 0 and b != 0이 더 적절해 보인다.)
- 루프 내부에서는 A+B를 출력한다.
- 다음 입력을 받기 위해 루프의 마지막 부분에서 다시 A와 B를 입력받는다. 이 새로운 A, B 값으로 다음 while 루프의 조건을 검사하게 된다.
이때 '다음 입력을 받기 위해 루프의 마지막 부분에서 다시 A와 B를 입력받는다.'부분이 중요하다.
만약 A와 B를 입력받는 부분이 출력보다 앞에 위치하게 되면 0 0을 입력했을 때, 0을 출력하게 되어버린다.
내가 만든 코드는 아래와 같다.
a,b = map(int, input().split())
while a!=0 and b!=0:
print(a+b)
a,b = map(int, input().split())
출력 결과는 다음과 같다.

반응형
'파이썬 > 예제' 카테고리의 다른 글
| 백준 10807번 개수세기 - 리스트를 만들자 (0) | 2025.05.19 |
|---|---|
| 백준 10951번 A+B (5) - 간단하지만 조심 (0) | 2025.05.18 |
| 백준 2439번 별 찍기 (2) - 띄어쓰기에 주의 (0) | 2025.05.18 |
| 백준 2438번 별 찍기 (1) - 간단한 문자열 (0) | 2025.05.18 |
| 백준 11022번 A+B (3) - 역시나 f_string (0) | 2025.05.18 |