본문 바로가기

백준 온라인 저지 (BOJ) 문제풀이

백준 온라인 저지 (BOJ) 10822 더하기

문제

숫자와 콤마로만 이루어진 문자열 S가 주어진다. 이때, S에 포함되어있는 자연수의 합을 구하는 프로그램을 작성하시오.

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

입력

첫째 줄에 문자열 S가 주어진다. S의 길이는 최대 100이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다.

출력

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#pragma warning(disable:4996)
int main() {
    char input[101];
    int sum = 0;
    scanf("%s", input);
    char* ptr = strtok(input, ",");
    while (ptr != NULL) {
        sum += atoi(ptr);
        ptr = strtok(NULL",");
    }
    printf("%d\n", sum);
    return 0;
}
cs

처음 풀 때는 직접 구현하느라 힘들었는데 strtok랑 atoi 쓰니까 너무 간단하다...