본문 바로가기
Beakjoon&프로그래머스/Java

[LeetCode/Java] 67. Add Binary

by 현장 2025. 11. 22.

-Code

class Solution {
    public String addBinary(String a, String b) {
        int aIndex = a.length() - 1;
        int bIndex = b.length() - 1;
        int now = 0;
        StringBuilder answer = new StringBuilder();
		// 마지막 수부터 더하기
        while (now > 0 || aIndex >= 0 || bIndex >= 0) {
            if (aIndex >= 0) {
                now += a.charAt(aIndex--) - '0';
            }

            if (bIndex >= 0) {
                now += b.charAt(bIndex--) - '0';
            }
            // 더한값이 2보다 크면 나머지
            answer.append(now % 2);
            // 다음 자리로 넘어갈 값
            now /= 2;
        }

        return answer.reverse().toString();
    }

}