반응형
https://www.acmicpc.net/problem/11720
- 문제
해설
숫자가 공백없이 입력 되므로 배열로 받는다.
문자를 숫자로 변환하는 과정에서 아스키 코드에 의해 0부터 9까지의 문자는 48부터 57까지의 숫자로 변환된다.
따라서 숫자로 변환 후 '0' 또는 48을 빼줘야 정상적으로 값을 구할 수 있다.
코드
c
#include <stdio.h>
int main() {
int t;
char s[101];
scanf("%d %s", &t, s);
int sum = 0;
for (int i = 0; i < t; i++) {
sum += s[i] - '0';
}
printf("%d", sum);
return 0;
}
c++
#include <iostream>
using namespace std;
int main() {
int t;
string s;
cin >> t >> s;
int sum = 0;
for (int i = 0; i < t; i++) {
sum += s[i] - '0';
}
cout << sum;
return 0;
}
반응형
'알고리즘 > 백준 문제 풀이' 카테고리의 다른 글
[BOJ/백준] 2675번 문자열 반복 - [c/c++] 풀이 (1) | 2022.10.15 |
---|---|
[BOJ/백준] 10809번 알파벳 찾기 - [c/c++] 풀이 (0) | 2022.10.14 |
[BOJ/백준] 11654번 아스키 코드 - [c/c++] 풀이 (0) | 2022.10.14 |
[BOJ/백준] 1065번 한수 - [c/c++] 풀이 (0) | 2022.10.13 |
[BOJ/백준] 4673번 셀프 넘버 - [c/c++] 풀이 (0) | 2022.10.13 |
댓글