혜랑's STORY

[BOJ_C++] 1357번 : 뒤집힌 덧셈 본문

무지성 공부방/알고리즘 해결

[BOJ_C++] 1357번 : 뒤집힌 덧셈

hyerang0125 2021. 7. 12. 20:51

1. 문제

2. 풀이

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <string>
#include <stack>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    string x, y; cin >> x >> y;
    reverse(x.begin(), x.end()); reverse(y.begin(), y.end());
    int sum = stoi(x) + stoi(y);
    string reverse_sum = to_string(sum);
    reverse(reverse_sum.begin(), reverse_sum.end());
    cout << stoi(reverse_sum);

    return 0;
}
  • reverse() 함수를 사용하여 x와 y의 값을 뒤집고 stoi()를 이용하여 int로 변환하고 더한 값을 sum에 저장한다.
  • reverse_sum에 sum을 string으로 변환한 값을 저장하고 reverse()를 통하여 다시 그 값을 뒤집는다.
  • stoi()를 통해 reverse_sum을 int로 바꾼 값을 출력한다. 이때 int로 바꿔주는 이유는 string으로 출력할 땐 앞에 0이 있으면 0까지 출력 해버리기 때문이다.

3. 결과