Beakjoon&프로그래머스/Java

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

현장 2025. 2. 26. 18:42

-Code

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

        for (int i = 0; i < n; i++) {
            StringBuilder resLine = new StringBuilder();
            line1 = Integer.toBinaryString(arr1[i]);
            line2 = Integer.toBinaryString(arr2[i]);
            line1 = "0".repeat(Math.max(0, n - line1.length()))
                    + line1;
            line2 = "0".repeat(Math.max(0, n - line2.length()))
                    + line2;

            for (int j = 0; j < n; j++) {
                if (line1.charAt(j) == '1' || line2.charAt(j) == '1') {
                    resLine.append("#");
                } else {
                    resLine.append(" ");
                }
            }
            answer[i] = resLine.toString();
        }
        return answer;
    }
}

| 연산을 사용하는 것과 0추가 부분도 %${n}s를 사용하면 쉽게 풀 수 있는데 잊고 있었습니다.