Make Unreal REAL.
article thumbnail
Level 0. 두 수의 합

 

 

숫자를 앞에 붙이면서 불필요한 밀기 연산이나 메모리 재할당을 최소화하기 위해, 뒤로 붙인 후 마지막에 역순으로 재배열해줬다.

 

#include <iostream>
#include <algorithm>

using namespace std;

string solution(string a, string b)
{
    string answer = "";
    size_t lenA = a.length(), lenB = b.length();
    int last = max(lenA, lenB), carry = 0;

    for (int i = 1; i <= last; ++i)
    {
        int A = (i <= lenA) ? (a[lenA - i] - '0') : 0;
        int B = (i <= lenB) ? (b[lenB - i] - '0') : 0;
        int sum = A + B + carry;

        answer += ('0' + sum % 10);
        carry = sum / 10;
    }

    answer += (carry ? "1" : "");

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

    return answer;
}
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그