큰 수
[Silver III] 큰 수 A+B (2) - 15353
성능 요약
메모리: 2024 KB, 시간: 0 ms
분류
임의 정밀도 / 큰 수 연산, 사칙연산, 수학, 문자열
제출 일자
2024년 7월 12일 09:55:36
문제 설명
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
출력
첫째 줄에 A+B를 출력한다.
기본 자료형으로 안되는 문제
따라서 String으로 처리해주어야 한다.
관련 유형을 풀어본 적이 없어서 바로 답보고 진행
로직을 한번 보면 알고리즘은 이해된다.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string A,B,ret;
cin>>A>>B;
int sum=0;
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();
}
ret+=sum%10+'0';
sum/=10;
}
reverse(ret.begin(),ret.end());
cout<<ret<<endl;
return 0;
}
Leave a comment