문제
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);
}
}
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 25628 : 햄버거 만들기 ( BRONZE 4 ) / C, Python (0) | 2023.09.26 |
---|---|
[ BOJ ] 13752 : 히스토그램 ( BRONZE 4 ) / C, Python (0) | 2023.09.26 |
[ BOJ ] 11654 : 아스키 코드 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.25 |
[ BOJ ] 20499 : Darius님 한타 안 함? ( BRONZE 4 ) / C, Python (0) | 2023.09.25 |
[ BOJ ] 5532 : 방학 숙제 ( BRONZE 4 ) / C, Python (0) | 2023.09.25 |