문제 해결/BaekJoon

[백준] [C++] 1357번 뒤집힌 덧셈

WSLim_97 2023. 1. 17. 22:40
반응형

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

 

1357번: 뒤집힌 덧셈

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

www.acmicpc.net


코드

#include <iostream>
using namespace std;

int Rev(int num);

int main()
{
	int x, y;
	cin >> x >> y;

	int result = Rev(Rev(x) + Rev(y));
	cout << result;

	return 0;
}

int Rev(int num)
{
	int result = 0;

	int i = 0;
	while (num != 0)
	{
		if (result == 0)
			result += num % 10;
		else
		{
			result *= 10;
			result += num % 10;
		}

		num /= 10;
		i++;
	}

	return result;
}

풀이

두 수 x, y가 주어졌을 때 모든 자리수를 역순으로 만드는 함수 Rev 함수를 사용해 Rev(Rev(x) + Rev(y))를 구하는 문제이다.

 

Rev 함수는 매개변수를 10으로 나눈 몫과 나머지를 사용하여 자리수를 역순으로 만든다.

반응형