#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 |