문제 링크
난이도 : 브론즈 4
문제 내용
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
문제 분석
숫자 n 받고 반복해서 더하면 될듯
작성한 코드
// 250219
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
char t[101];
int result = 0;
cin >> n >> t;
for(int i = n ; i--;){
result += t[i] - '0'; // ASCII 코드 형태인 t[i]에서 숫자 시작값인 '0'을 뺌
}
printf("%d", result);
}
어디서 char 형태의 숫자를 int로 바꾸는 쉬운 방법을 찾아냄
char - ‘0’ 을 해서 형변환하는것!
우수 코드 분석
#import<ios>
int a,b;main(){for(scanf("%*d");~scanf("%1d",&a);)b+=a;printf("%d",b);}
#import<ios>
int a,b;
main(){
for(scanf("%*d");~scanf("%1d",&a);)b+=a;
printf("%d",b);
}
%*d는 읽긴 하는데 무시하겠다는 의미
따라서 처음에 입력되는 입력갯수를 무시하고
입력이 더 들어오지 않는 만큼 반복하겠다는 뜻
1d이기 때문에 한 글자씩만 가져온다.