본문 바로가기

PS/BaekJoon

[백준/c++] 15353 큰수 A+B(2)

문제

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

입력

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

출력

첫째 줄에 A+B를 출력한다.

구현해야할 조건

엄청나게 큰수들은 무엇으로 해결? string으로 해결을 해야한다. 근데 더 할때, 9를 넘기게 되면 올려줘야하는데 이점을 잘 생각해서 풀면 될것 같다!

code

#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

string add(string a, string b){
	
	int sum = 0;
	string res = "";
	
	while(a.size() || b.size() || sum){
		
		if(a.size()){
			
			sum += a.back() - '0';
			a.pop_back();
			
		}
		
		if(b.size()){
			
			sum += b.back() - '0';
			b.pop_back();
			
		}
		
		res += (sum % 10) + '0'; // 이 부분을 잘 생각해서 문제를 해결하자!
		sum /= 10;
	}
	
	reverse(res.begin(), res.end());
	return res;
}

int main(){
	
	string a,b;
	
	cin >> a >> b;
	cout << add(a,b) << "\n";
	return 0;
}

'PS > BaekJoon' 카테고리의 다른 글

[백준/c++] 2665 미로 만들기  (0) 2022.05.27
[백준/c++] 17070 파이프 옮기기1  (0) 2022.04.19
[백준/c++] 1062 가르침  (0) 2022.04.13
[백준/c++] 1094 막대기  (0) 2022.04.13
[백준/c++] 14620 꽃길  (0) 2022.04.11