티스토리 뷰

문제

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

입력

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

출력

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

풀이 과정

공백없이 주어진 한 자리 숫자들을 전부 더한다. 다만 숫자 자료형에 공백없이 주어진 숫자들을 저장하는 것은 무리이므로, 문자열에 저장해서 한 글자씩 숫자를 따서 합을 계산한다.

다만, 문자열에 저장하는 것이기 때문에, 숫자로 계산하기 위해선 아스키 코드 이론을 이용해 문자 0을 빼서 계산해야 올바른 숫자 값을 얻을 수 있다. ( '3' - '0' = 3 )

C

#include <stdio.h>

char s[101];
int main(void) {
    int n;
    scanf("%d", &n);
    scanf("%s", s);
    
    int sum_value = 0;
    for (int i = 0; i < n; i++) sum_value += (s[i] - '0');
    
    printf("%d", sum_value);
    return 0;
}

C++

#include <iostream>
#include <string>
using namespace std;

int main(void) {
    int n; cin >> n;
    string s; cin >> s;
    
    int sum_value = 0;
    for (int i = 0; i < n; i++) sum_value += (s.at(i) - '0');
    
    cout << sum_value;
    return 0;
}

Python

n = int(input())
s = list(map(int, list(input())))
print(sum(s))

Java

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        sc.nextLine();
        String s = sc.nextLine();
        
        int sum_value = 0;
        for (int i = 0; i < n; i++) sum_value += (int)s.charAt(i) - '0';
        
        System.out.println(sum_value);
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함