문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
두 개의 이진 문자열 a와 b가 주어지고, 그 문자열의 합을 이진 문자열로 반환해라.
#1
Input: a = "11", b = "1"
Output: "100"
#2
Input: a = "1010", b = "1011"
Output: "10101"
class Solution {
public String addBinary(String a, String b) {
int i = a.length() - 1;
int j = b.length() - 1;
int temp = 0;
StringBuilder sb = new StringBuilder();
while(i >= 0 || j >= 0 || temp > 0){
if(i >= 0){
temp = temp + a.charAt(i) - '0';
i--;
}
if(j >= 0){
temp = temp + b.charAt(j) - '0';
j--;
}
sb.append(temp % 2);
temp = temp / 2;
}
return sb.reverse().toString();
}
}