풀이 의도
백준 온라인 저지(이하 BOJ)는 문제의 입력과 출력을 표준 입출력으로 처리하도록 되어있다.
A + B 문제집을 통하여 다양한 입출력 포맷을 해결하고, 표준 입출력과 친해지자.
본문에서 다룰 문제 목록
BOJ A + B 문제집
출처 | 문제 번호 | 제목 |
---|---|---|
BOJ | 1000 | A + B |
BOJ | 2558 | A + B - 2 |
BOJ | 10950 | A + B - 3 |
BOJ | 10951 | A + B - 4 |
BOJ | 10952 | A + B - 5 |
BOJ | 10953 | A + B - 6 |
BOJ | 11021 | A + B - 7 |
BOJ | 11022 | A + B - 8 |
BOJ | 15740 | A + B - 9 |
A + B
피연산자 2개가 빈 칸을 사이에 두고 한 줄에 입력된다.
결과를 출력한다.
C 해법
scanf("%d%d", &A, &B);
printf("%d", A + B);
C++ 해법
cin >> A >> B;
cout << A + B;
2번 문제를 제외한 모든 문제는 1번과 동일하게 테스트케이스별로 한 줄이 입력된다.
A + B - 2
피연산자 2개가 한 줄에 한 개씩 입력된다.
C 해법
scanf("%d%d", &A, &B);
printf("%d", A + B);
C++ 해법
cin >> A >> B;
cout << A + B;
A + B - 3
테스트케이스가 하나였던 2번 이전 문제와 달리,
3번 이후 문제들은 테스트케이스가 여러 개이다.
테스트케이스의 개수가 첫 줄에 주어지고,
각 테스트케이스가 한 줄씩 입력된다.
각 테스트케이스의 결과를 한 줄씩 출력한다.
C 해법
while(T--) {
scanf("%d%d", &A, &B);
printf("%d\n", a + b);
}
C++ 해법
while(T--) {
cin >> A >> B;
cout << A + B << '\n';
}
A + B - 4
여러 개의 테스트케이스가 주어지지만,
테스트케이스의 개수는 입력되지 않는다.
각 테스트케이스가 한 줄씩 입력된다.
EOF
면 종료한다.
C 해법
while(scanf("%d%d", &A, &B) != EOF)
printf("%d\n", a + b);
C++ 해법
while(cin >> A >> B)
cout << A + B << '\n';
A + B - 5
여러 개의 테스트케이스가 주어지며,
마지막 테스트 케이스 뒤에 0 0
이 입력된다.
각 테스트케이스가 한 줄씩 입력된다.
0 0
를 입력받으면 종료한다.
C 해법
while(scanf("%d%d", &A, &B)) {
if (A == 0 && B == 0) break;
printf("%d\n", a + b);
}
C++ 해법
while(cin >> A >> B){
if (A == 0 && B == 0) break;
cout << A + B << '\n';
}
A + B - 6
3번과 동일하나, 빈칸 대신 ','가 delimiter로 입력된다.
C 해법
while(scanf("%d%d", &A, &B)) {
scanf("%d,%d", &a, &b);
printf("%d\n", a + b);
}
C++ 해법
while(cin >> A >> B){
char c;
cin >> a >> c >> b;
cout << a + b << '\n';
}
A + B - 7, A + B - 8
3번과 동일하나, 출력 형식이 다르다.
아래 출력 형식은 8번 기준
C 해법
for(int t = 1; t <= T; ++t) {
scanf("%d,%d", &a, &b);
printf("Case #%d: %d + %d = %d\n", t, a, b, a + b);
}
C++ 해법
for(int t = 1; t <= T; ++t) {
cin >> a >> c >> b;
cout << "Case #" << t << ": " << a << " + " << b << " = " << a + b << '\n';
}
A + B - 9
1번과 동일하나, 피연산자의 범위가 다르다.
정수형 자료형이 나타낼 수 없는 크기이므로,
문자열로 입력받은 뒤 문자열 덧셈을 구현해야 한다.