[프로그래머스] 비밀지도 Java

dustle·2023년 3월 23일
1

비밀지도

비트 연산자를 사용하는 문제입니다.

AND(&) : 두 비트 모두 1일 때 1
OR(|) : 두 비트 중 하나만 1일 때 1
XOR(^) : 두 비트 중 하나는 1이고 하나는 0일 때 1
NOT(~) : 보수

class Solution {
    public static String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];

        for (int i = 0; i < n; i++) {
            String str = Integer.toBinaryString(arr1[i] | arr2[i]);
            str = String.format("%" + n + "s", str);

            str = str.replaceAll("1", "#");
            str = str.replaceAll("0", " ");

            answer[i] = str;
        }
        return answer;
    }
}

0개의 댓글