https://www.acmicpc.net/problem/8949
#include <string> 을 해주면 정수를 문자열로 바꿔주는 to_string() 함수를 사용할 수 있다.
이후 1의 자리부터 덧셈을 시작하기 위해 각 숫자의 맨 끝을 i, j에 저장해준다.
두 숫자 중 하나라도 남아 있는 경우 계속해서 반복하기 위해 while (i >= 0 || j >= 0) 문을 사용한다.
while문 안에서는 각 숫자의 맨 끝자리 숫자를 차례대로 꺼내서 더한 다음 현재 answer에 저장된 숫자의 오른쪽에 붙여준다.
문자열/정수 변환만 잘 해주면 어렵지 않게 풀 수 있는 문제였다..!
#include <iostream>
#include <string>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
string A = to_string(a);
string B = to_string(b);
string answer = "";
int i = (int)A.size() - 1;
int j = (int)B.size() - 1;
while (i >= 0 || j >= 0) {
int da, db;
if (i >= 0) da = A[i] - '0';
else da = 0;
if (j >= 0) db = B[j] - '0';
else db = 0;
answer = to_string(da + db) + answer;
i--;
j--;
}
cout << answer << endl;
return 0;
}