알고리즘/BOJ

백준 10824번 네 수

꾸준함. 2018. 12. 29. 01:56

문제 링크입니다: https://www.acmicpc.net/problem/10824


string을 통해 bigInteger 덧셈을 구현하면 간단히 풀리는 문제였습니다.


#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

 

string bigNumAdd(string num1, string num2)

{

        long long sum = 0;

        string result;

 

        //1의 자리부터 더하기 시작한다

        while (!num1.empty() || !num2.empty() || sum)

        {

                 if (!num1.empty())

                 {

                         sum += num1.back() - '0';

                         num1.pop_back();

                 }

                 if (!num2.empty())

                 {

                         sum += num2.back() - '0';

                         num2.pop_back();

                 }

                 //다시 string 형태로 만들어 push_back

                 result.push_back((sum % 10) + '0');

                 sum /= 10;

        }

        //1의 자리부터 result에 넣었으므로 뒤집어줘야한다

        reverse(result.begin(), result.end());

        return result;

}

 

int main(void)

{

        ios_base::sync_with_stdio(0);

        cin.tie(0);

        string A, B, C, D;

        cin >> A >> B >> C >> D;

 

        A += B;

        C += D;

        cout << bigNumAdd(A, C) << "\n";

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 2636번 치즈  (2) 2018.12.29
백준 10093번 숫자  (0) 2018.12.29
백준 1561번 놀이 공원  (0) 2018.12.25
백준 2917번 늑대 사냥꾼  (0) 2018.12.16
백준 2923번 숫자 게임  (0) 2018.12.04