A+B – 4
https://www.acmicpc.net/problem/10951
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 256 MB | 286357 | 101857 | 85660 | 35.661% |
문제
두 정수 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
출처
비슷한 문제
- 1000번. A+B
- 1001번. A-B
- 1008번. A/B
- 2558번. A+B – 2
- 10950번. A+B – 3
- 10952번. A+B – 5
- 10953번. A+B – 6
- 10998번. A×B
- 11021번. A+B – 7
- 11022번. A+B – 8
- 15740번. A+B – 9
- 15792번. A/B – 2
알고리즘 분류
백준 10952번 문제와 90% 정도 같지만 입력에서 큰 차이가 있다.
10952번은 0 0 을 입력으로 주면서 입력의 마지막을 알려주었다면 이 문제에서는 그런 것이 없다.
이 문제를 해결하려면 EOF 에 대하여 알아야 한다.
EOF – End of File의 약자로 텍스트 파일의 끝을 알리기 위한 문자 값이다.
https://lollolzkk.tistory.com/15

파일의 끝이라면 cin.eof()는 true 값을 반환한다는 것만 알고 있으면 된다.
코드를 작성할때 10952번 코드를 재활용해서 bool 값으로 pair값의 first, second를 구별하여 넣어주었다.
통과된 코드
#include <iostream>
#include <list>
using namespace std;
list <pair<int, int>> tempList;
list <pair<int, int>>::iterator it;
pair<int, int> temp;
int main()
{
bool check = true;
while (!cin.eof()) {
if (check) {
cin >> temp.first;
check = !check;
}
else {
cin >> temp.second;
check = !check;
tempList.push_back(temp);
}
}
for (it = tempList.begin(); it != tempList.end(); it++)
cout << it->first + it->second << "\n";
return 0;
}


![백준 11899번 (괄호 끼워넣기, C++) [BAEKJOON]](https://lycos7560.com/wp-content/uploads/boj-og.png)
![Programmers 42888 오픈채팅방 [2019 KAKAO BLIND RECRUITMENT]](https://lycos7560.com/wp-content/uploads/2023/03/programmers.jpg)
![백준 11727번 (2×n 타일링 2, C++, DP) [BAEKJOON]](https://lycos7560.com/wp-content/uploads/boj-og-1.png)