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


구현을 쉽게 하기 위해서 reverse iterator를 사용했습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
using namespace std;
 
int main(){
    string s1, s2,ret;
    int num=0;
    
    cin >> s1 >> s2;
    if(s1.size() > s2.size()){
        string tmp = s2;
        s2 = s1;
        s1 = tmp;
    }
    
    auto it1 = s1.rbegin();
    auto it2 = s2.rbegin();
    
    for(;it1 != s1.rend(); it1++, it2++){
        int sum = *(it1)-48+*(it2)-48+num;
        ret = char(sum%10+48+ ret;
        num = sum/10;
    }
    for(;it2!=s2.rend();it2++){
        int sum = *(it2)-48 + num;
        ret = char(sum%10+48+ ret;
        num = sum/10;
    }
    if(num > 0)
        ret = char(num+48+ ret;
    
    cout << ret;
}
cs


반응형

+ Recent posts