개인 서재..*/문제풀이

백준 11720번 문제. 숫자의 합

낭만붕어빵 2017. 5. 2. 00:02
반응형

백준 11720번 문제. 숫자의 합


[Point] 자료형의 범위에 주의할 것 


처음엔 두번째 입력을 long long 형으로 "하나의 숫자인것처럼" 받아버린 후,

10씩 나눠가면서 각 자리 숫자를 더하려고 했다.

예제는 제대로 출력이 되었지만 계속 오류가 떠서 확인해보니 

long long 형으로도 100자리 숫자는 도저히 커버가 안되는 것이었다.... 


그래서 문자열로 받는 방법을 택했다.


아스키코드상,

'0'=48

'1'=49

'2'=50

.

.

.

.

. 이런 식이기 때문에 '0'을 빼주면 해당 값이 나온다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main() {
 
    int cnt,i;
    int sum = 0;
    char input[101];
 
    scanf("%d"&cnt);
    scanf("%s", input);
    for (i = 0; i < cnt; i++) {
        sum += input[i]-'0';
    }
    
 
    printf("%d\n",sum);
    return 0;
 
}
cs



반응형