[프로그래머스] 이진수 더하기 - Java

Yunki Kim·2023년 1월 12일
0

프로그래머스

목록 보기
94/101
post-thumbnail

문제


링크


코드

class Solution {
    public String solution(String bin1, String bin2) {
        int bin1Int = Integer.parseInt(bin1, 2);
        int bin2Int = Integer.parseInt(bin2, 2);

        return Integer.toBinaryString(addBinary(bin1Int, bin2Int));
    }

    static int addBinary(int a, int b) {
        if (b == 0) return a;

        int sum = a^b;
        int carry = (a&b) << 1;

        return addBinary(sum, carry);
    }
}

리뷰

이진수를 연산한다고 하면 자연스럽게 비트연산이 떠올라서 비트연산으로 구현했는데 사실 Integer.toBinaryString()를 이용해서 10진수로 바꾸어 더한 뒤 2진수로 변경하여 출력해도 됬었다 😳

그래도 비트연산으로 어떻게 덧셈을 구현해야할지 알게됬으니 좋은거겠지

0개의 댓글