코딩테스트/Baekjoon

[백준 #1357] 뒤집힌 덧셈 (C++)

동띵 2022. 1. 7. 13:04

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

 

1357번: 뒤집힌 덧셈

어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(

www.acmicpc.net

X와 Y를 입력한 후 역순으로 뒤집어 더하고

그 결과를 역순으로 뒤집어서 출력하면 된다.

 

입력받은 int 형을 문자열로 변환하고 reverse를 사용하여 역순으로 뒤집는다.

그다음 atoi를 사용하여 뒤집은 문자열을 int 형으로 변환해주는 함수 rev를 만들었다.

 

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int rev(int n) {
	string s = to_string(n);
	reverse(s.begin(), s.end());
	return atoi(s.c_str());
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);

	int x, y, result;
	cin >> x >> y;

	x = rev(x);
	y = rev(y);

	result = x + y;
	result = rev(result);
	cout << result;

	return 0;
}