Bakjoon Q11720 - C++

Q11720


Problem

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

Input

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

Output

입력으로 주어진 숫자 N개의 합을 출력한다.

예제 입력

1
2
5
54321

예제 출력

1
15   

나의 제출

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;

int main(){
    int T,a; //변수 선언
    int sum=0; // "초기 initalize"
    cin >> T; // 입력받을 길이 확인
    while(T--){ // T가 0이 될 때 까지 loop
        scanf("%1d", &a); 
        // "%1d" 를 이용해서 한자리 자연수로만 입력을 받음"
        sum +=a;
    }
    cout << sum << endl;
}

추가 내용

cin은 편리하지만 세부적인 입력을 못 나눈다. 문자열 그대로, 숫자 뭉텅이 그대로 들어가므로, 불편해도 세부적인 구분을 할 수 있는 scanf가 이때는 빛을 발한다.

총평

scanf는 c에서만 쓰이는 구시대적인 것이 아니라 종종 쓰인다는 것. 그리고 %1d 라는 형식을 이용해 입력을 제한할 수도 있다는 것을 알았다.