알고리즘 문제
[백준] 1357번 뒤집힌 덧셈
feelcoding
2020. 3. 23. 18:20
728x90
https://www.acmicpc.net/problem/1357
1357번: 뒤집힌 덧셈
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오
www.acmicpc.net
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
string x, y;
cin >> x >> y;
string a = "";
string b = "";
for (int i = x.size() - 1; i >= 0; i--) {
a += x[i];
}
for (int i = y.size() - 1; i >= 0; i--) {
b += y[i];
}
int temp = stoi(a) + stoi(b);
string result = "";
while (true) {
if (temp / 10 == 0) {
result += (temp % 10 + '0');
break;
}
result += (temp % 10 + '0');
temp /= 10;
}
cout << stoi(result);
return 0;
}
728x90