Algorithm/BOJ

C++) [BOJ] 큰수 A + B★

HSH12345 2023. 3. 21. 00:19

10757번: 큰 수 A+B (acmicpc.net)

 

10757번: 큰 수 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

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

int n, sum;
int num1[10001], num2[10001];
string a, b, tmp;
vector<int> v;

int main()
{
	cin >> a >> b;

	if (a.size() < b.size())
	{
		tmp = a;
		a = b;
		b = tmp;
	}

	for (int i = 0; i < a.size(); i++)
		num1[i + 1] = a[i] - '0';

	for (int i = 0; i < b.size(); i++)
		num2[i + 1 + (a.size() - b.size())] = b[i] - '0';

	for (int i = a.size(); i > 0; i--)
	{
		sum = num1[i] + num2[i];
		if (sum >= 10)
		{
			num1[i - 1]++;
			sum -= 10;
		}
		v.push_back(sum);
	}


	if (num1[0] != 0) cout << 1;

	for (int i = v.size() - 1; i >= 0; i--)
	{
		cout << v[i];
	}
}

 

 변수에 담을 수 없는 정수의 합을 배열을 활용하여 구해야하는 문제 싫어하는 유형인데 다시 확인하면서 로직을 숙지해야겠다.