입출력은 일부러 안 풀었었는데 원래 단계별로 가는 게 맞는 것 같습니다. 예전에 어려운 문제부터 풀려고하니 흥미가 떨어지면서 하고 싶지가 않았었죠 근데 지금은 뭔가 계단 오르듯이 하니 재밌네요. 잡소리는 그만 하고 바로 문제를 보시겠습니다.

 

www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

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

www.acmicpc.net

문제

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

입력

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

출력

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

 

 

 

배열로 해도 되구 아니면 그냥 해도 되겠네요.

두 개의 소스를 올리도록 하겠습니다.

 

일단 배열부터 보시죠. 배열 부분에서도 딱히 어려운 부분이 없습니다.

저기서 sum += arr[i] - '0' 이 부분이 제일 중요하네요.

#include <iostream>

using namespace std;

int main()
{
    int num1;
    cin >> num1;
    
    char arr[num1];

    cin >> arr;
    int sum = 0;

    for(int i=0; i<num1; i++)
    {
        sum += arr[i] - '0';   
    }

    cout<<sum<<endl;

    return 0;
}

 

다음으로 배열 없는 소스코드를 보시겠습니다.

#include <iostream>

using namespace std;

int main()
{
    int num1;
    cin >> num1;
    
    char num2; 

    int sum = 0;

    for(int i=0; i<num1; i++)
    {
        cin >> num2;
        sum += (num2 - '0');
    }

    cout<<sum<<endl;

    return 0;
}

 

 

이상포스터를 마치겠습니다. 감사합니다.

+ Recent posts