본문 바로가기
코딩테스트/programming_C++

baekjoon #11720_숫자의 합_c++

by prometedor 2021. 10. 25.
#include<iostream>
#include<string>

int main() {
int N, sum = 0;
std::cin >> N;
std::string str;

std::cin >> str;

for (std::size_t i = 0; i < str.length(); i++) {
sum += str[i] - '0';  // 자동 형변환
}

std::cout << sum;
}

str[i]는 string타입이지만 int 타입으로 자동 형변환 되어 아스키로 변형됨

문자 '0'의 아스키 값이 48이므로, 아래와 같이 문자 '0'을 빼서 원래 숫자의 값을 나타낼 수 있음

 

'1' - '0' = 49 - 48 = 1

'2' - '0' = 50 - 48 = 2

'3' - '0' = 51 - 48 = 3

.

.

.

'8' - '0' = 56 - 48 = 8

'9' - '0' = 57 - 48 = 9

'코딩테스트 > programming_C++' 카테고리의 다른 글

baekjoon #1157_단어 공부_c++  (0) 2021.10.26
baekjoon #10809_알파벳 찾기_c++  (0) 2021.10.25
baekjoon #1065_한수_c++  (0) 2021.10.25
baekjoon #4673_셀프넘버_c++  (0) 2021.10.25
baekjoon #15596_정수 N개의 합_c++  (0) 2021.10.25