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

입력으로 받은 N만큼 반복문을 돌려 각각의 자릿수를 합하면 쉽게 될거라 생각했지만,, 생각처럼 쉽지 않았다.
입력받은 숫자를 string이 아닌, int로 선언했다가 int의 범위를 넘어가는 입력일 때 예외가 발생하였다. ex) 11, 10987654321
그래서, long long으로 선언 후 #include <sstream> 헤더파일을 불러와, 아래와 같이 형변환을 해주었는데,int n; long long m; cin >> n >> m; stringstream ss; ss << m; string test = ss.str();이것도 정답이 아니었다. 그리고 string에서 각각의 문자는 char이므로 stoi를 사용할 수 없었다..
string으로 받아서, char형을 아스키코드를 통해 간단히 int형으로 바꿔 더해주면 되었다.
참고 : https://stackoverflow.com/questions/5029840/convert-char-to-int-in-c-and-c
string의 각각의 인덱스에 접근하여, 각 인덱스 문자열의 값(char)를 아스키 코드로 변환하여 sum을 해주는 것이다.
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
string m;
int sum = 0;
cin >> n >> m;
for(int i = 0; i < n; i++){
int a = m[i] - '0';
sum += a;
}
cout << sum;
return 0;
}

무서운 이야기 : c++이 점점 재미있어진다..