본문 바로가기

Programming/알고리즘 공부

[LeetCode] Add Binary | 난이도: Easy

반응형

문제

주어진 2진수 문자열 a, b의 합을 2진수 문자열로 리턴.

 


예시

Example 1:
Input: a = "11", b = "1"
Output: "100"

Example 2:
Input: a = "1010", b = "1011"
Output: "10101"

답안

class Solution {
    public String addBinary(String a, String b) {
        
        StringBuilder sb = new StringBuilder();
        int i = a.length() - 1;
        int j = b.length() -1; 
        int sum = 0;
        
        while (i >= 0 || j >= 0) {
            if (j >= 0) sum += b.charAt(j--) - '0';
            if (i >= 0) sum += a.charAt(i--) - '0';
            sb.append(sum % 2);
            sum /= 2;
        }
        if(sum == 1) sb.append(sum);
        return sb.reverse().toString();
        
    }
}

char - '0' 를 통해 char 타입을 int 타입으로 변환할 수 있다.

 

반응형