문제 출처:https://leetcode.com/problems/add-binary/
코드는 다음과 같습니다:
class Solution {
public:
string addBinary(string a, string b) {
short a_idx = a.length(), b_idx = b.length();
string answer = "" ;
short remain = 0;
int num ;
while(0 < a_idx || 0 < b_idx){
num = remain ;
if(0 < a_idx)
num += a[--a_idx] - '0' ;
if(0 < b_idx)
num += b[--b_idx] - '0' ;
remain = num / 2 ;
num %= 2 ;
answer.push_back(num + '0') ;
}
if(0 < remain)
answer.push_back(remain + '0') ;
reverse(answer.begin(), answer.end()) ;
return answer ;
}
};
해당 문제는 Github에서도 보실 수 있습니다:
https://github.com/gurcks8989/CodingTest/blob/master/LeetCode/P67_Add_Binary.cpp
훈수 및 조언은 언제든 환영입니다.