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];
	}
}

 

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

'Algorithm > BOJ' 카테고리의 다른 글

C#) [BOJ] 1158 요세푸스 문제  (0) 2023.02.18
C#) [BOJ] 1254 팰린드롬 만들기 ★  (0) 2023.02.14
C#) [BOJ] 21921 블로그 ★  (0) 2023.02.13
C#) [BOJ] 2178 미로 탐색 ★  (0) 2023.02.10
C#) [BOJ] 2108 통계학 ★  (0) 2023.02.09

+ Recent posts