본문 바로가기
Algorithm/BackJoon

15873번: 공백 없는 A+B

by 꼬부기가우는소리 2023. 9. 15.
728x90

 

- 문제 사이트: https://www.acmicpc.net/problem/15873

 

15873번: 공백 없는 A+B

자연수 A, B (0 < A, B ≤ 10)가 첫 번째 줄에 주어진다. 단, 두 수의 사이에는 공백이 주어지지 않는다. 두 수의 앞에 불필요한 0이 붙는 경우는 없다.

www.acmicpc.net

 

입력되는 문자열을 숫자 A, B로 구분하여 더해주는 문제이다.

숫자 A와 B는 1부터 10 중 하나의 숫자라는 제한이 있으므로, 아래와 같이 기준을 잡아 문제를 풀어주도록 한다.

 

1) 입력된 문자열이 2자리 수일 경우, 숫자 A와 B는 한자리 수 → A = 첫번째 자리, B = 두번째 자리

2) 입력된 문자열이 3자리 수일 경우, 숫자 A와 B 중 하나는 10

    2-1) A = 10, B = 세번째 자리

    2-2) A = 첫번째 자리, B = 10

3) 입력된 문자열이 4자리 수일 경우, 숫자 A와 B 모두 10 → A = 10, B = 10

 

#include <iostream>
using namespace std;

int main()
{
    string str;
    cin >> str;

    int A, B;

    if (str.length() == 2)
    {
        A = str[0] - '0';
        B = str[1] - '0';
    }
    else if (str.length() == 3)
    {
        if (str[1] == '0')
        {
            A = 10;
            B = str[2] - '0';
        }
        else
        {
            A = str[0] - '0';
            B = 10;
        }
    }
    else if (str.length() == 4)
    {
        A = 10;
        B = 10;
    }

    cout << A + B << endl;
    return 0;
}

- 메모리: 2024 KB

- 시간: 0 ms

- 코드 길이: 537 B

'Algorithm > BackJoon' 카테고리의 다른 글

11943번: 파일 옮기기  (0) 2023.09.14
1550번: 16진수  (0) 2023.09.13
4779번: 칸토어 집합  (0) 2023.09.12
25192번: 인사성 밝은 곰곰이  (0) 2023.09.11
1158번: 요세푸스 문제  (0) 2023.09.10

댓글