char형의 특성을 이용한 풀이

내가 작성한 코드는 다음과 같다.

#include <iostream>
using namespace std;

int main(){
    char a[100] = {}; //숫자를 char의 문자형 배열로 받는다.(ASCII형태로 저장)
    int N, result = 0;
    cin>>N;

    for(int i =0;i<N;i++){
        cin>>a[i];
        result += (a[i] - 48); //배열의 값에서 '0'의 ASCII 정수값을 빼준다.
    }

    cout<<result<<endl;

    return 0;
}

Char형은 ASCII 방식을 이용한다.

 

출처 : www.alpharithms.com

 

배열값에서 ASCII코드표의 '0'에 해당하는 dec 값을 빼준다.

 

그렇게 되면, 사용자로부터 받은 문자형태의 숫자는 그에 맞는 정수로 출력된다.

 

문제의 자세한 정보는 링크를 참조하자.

 

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

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

www.acmicpc.net

 

'코딩 > 백준 알고리즘' 카테고리의 다른 글

백준 2798번 : 블랙잭  (0) 2022.02.15
백준 5622번 : 다이얼  (0) 2022.02.15
백준 1546번 : 평균  (0) 2022.02.15
백준 3052번 : 나머지  (0) 2022.02.14
[백준] 숫자의 개수 (2577번)  (0) 2022.02.14