본문 바로가기

code/BOJ

BOJ A +B 문제집

풀이 의도

백준 온라인 저지(이하 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번과 동일하나, 피연산자의 범위가 다르다.
정수형 자료형이 나타낼 수 없는 크기이므로,
문자열로 입력받은 뒤 문자열 덧셈을 구현해야 한다.

https://www.acmicpc.net/source/24616508