백준 10823번 (더하기 2, C++) [BAEKJOON]

Table Of Contents

더하기 2

https://www.acmicpc.net/problem/10823

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초256 MB35181917164257.093%

문제

숫자와 콤마로만 이루어진 문자열 S가 주어진다.

이때, S에 포함되어있는 자연수의 합을 구하는 프로그램을 작성하시오.

S의 첫 문자와 마지막 문자는 항상 숫자이고, 콤마는 연속해서 주어지지 않는다. 주어지는 수는 항상 자연수이다.

입력

문자열 S가 여러 줄에 걸쳐서 주어진다.

S의 길이는 최대 10,000이다.

포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다.

출력

문자열 S에 포함되어 있는 자연수의 합을 출력한다.

예제 입력 1

10,20,
3
0,50
,1
00

예제 출력 1

210

출처

알고리즘 분류


통과된 코드

#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int result = 0;
string str, temp;

int main()
{
    ios_base::sync_with_stdio(false); // scanf와 동기화를 비활성화
    // cin.tie(null); 코드는 cin과 cout의 묶음을 풀어줍니다.
    cin.tie(NULL);
    cout.tie(NULL);

    while (getline(cin, str)) {
        for (int i = 0; i < str.length(); i++) {
            if (str[i] >= 48 && str[i] <= 57) { // 0 ~ 9
                temp.push_back(str[i]);
            }
            else {
                result += atoi(temp.c_str());
                temp.clear();
            }
        }
    }

    result += atoi(temp.c_str());

    cout << result;

    return 0;
}

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top