1. 문제 상세
https://www.acmicpc.net/problem/10952
2. 문제 접근
정수 두 개를 입력받아 그 합을 출력하는 문제이다. 문제는 입력받는 값이 둘 다 0이 될 때 까지
반복하여 입력받고 계산하여 출력하는 것인데, 이를 위해 이번에는 while 문을 사용해보자.
먼저 정수를 입력받을 변수를 선언하고, 정수를 한번 입력 받는다.
그리고 while 문으로 반복을 하는데 조건을 두 정수의 값이 각각 0이 아닌 경우로 한다.
그리고 반복하는 동안 두 정수의 합을 출력하고 다시 두 정수를 입력받도록 한다.
이렇게 하면 입력받은 두 정수가 0 이 아닌 경우 계속 반복하고, 만약 둘 다 0 을 입력받으면
조건이 충족되지 않아 루프를 빠져나오게 된다.
다른 방법으로 while 문의 조건에 true 를 주어서 무한 반복을 하도록 하고, 반복문 내부에서 if 문을 사용하여
두 정수의 값이 0인지 확인하고, 맞다면 break 로 반복문을 빠져나올수 있다.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
while(a != 0 && b != 0) {
cout << a+b << "\n";
cin >> a >> b;
}
}
정수형 변수 a, b 를 선언하고 cin 으로 a 와 b 에 정수를 입력받아 저장한다.
while문을 사용하여 입력받은 a 와 b 가 둘 다 0이 아닌 경우에 반복하도록 한다.
반복문에서는 cout 으로 a+b 의 값을 출력하고, cin 으로 a 와 b 의 값을 다시 입력받는다.
이렇게 다시 반복이 되면 조건을 확인하고, 맞다면 반복, 아닌 경우 종료되는 구조로 작성한다.
4. 성능 확인
5. 마무리
while 문을 사용하여 조건이 충족되지 않는 경우 무한 반복이 일어나도록 해 보았다.
조건을 통해 일정 횟수만큼 반복하는 for문과, 조건이 맞을 때 까지 무한하게 반복하는 while 문을 잘 사용하자.
'백준 - 단계별로 풀어보기 > 반복문' 카테고리의 다른 글
[백준] 10951번 : A+B - 4 | C++ (0) | 2023.09.20 |
---|---|
[백준] 2439번 : 별 찍기 - 2 | C++ (0) | 2023.09.20 |
[백준] 2438번 : 별 찍기 | C++ (0) | 2023.09.20 |
[백준] 11022번 : A+B - 8 | C++ (0) | 2023.09.20 |
[백준] 11021번 : A+B - 7 | C++ (0) | 2023.09.20 |