[ 백준 11720번 ] 숫자의 합

2021. 12. 9. 19:25백준/단계별 문제

백준 11720번 / 7단계 / 숫자의 합

 

백준 11720번 - 숫자의 합

 

채점 결과는 다음과 같다

  메모리 시간
1번째 방법 1112 KB 4 ms

 

문제 풀이
아스키 코드값 문자 "0" ~ "9" 은 정수형으론 48 ~ 57이다
정수 0 ~ 9 와 문자 "0" ~ "9" 는 48의 차이가 난다

1. 숫자를 문자열로 입력받아서 공백없이 입력되어 있으므로 각 인덱스마다 - 48을 해주고 sum에 더하면 된다

Input = 54321

Number[0] = 53 - 48 = 5
sum = sum + Number[0]

Number[1] = 52 - 48 = 4
sum = sum + Number[1]

Number[2] = 51 - 48 = 3
sum = sum + Number[2]

Number[3] = 50 - 48 = 2
sum = sum + Number[3]

Number[4] = 49 - 48 = 1
sum = sum + Number[4]

sum = 15

 

코드
#include <stdio.h>
#include <algorithm>

using namespace std;

int main()
{
	int n;
	char number_string[101];
	int sum = 0;

	scanf("%d", &n);

	for ( int i = 0; i < n; i++ ) {
		scanf("%s", number_string);
		sum += number_string[i] - 48;
	}
	printf("%d", sum);
}

'백준 > 단계별 문제' 카테고리의 다른 글

[ 백준 10809번 ] 문자열 반복  (0) 2021.12.18
[ 백준 10809번 ] 알파벳 찾기  (0) 2021.12.13
[ 백준 11654번 ] 아스키 코드  (0) 2021.12.05
[ 백준 1065번 ] 한수  (0) 2021.12.02
[ 백준 4673번 ] 셀프 넘버  (0) 2021.11.29