비밀지도

han.user();·2023년 4월 19일
0

프로그래머스

목록 보기
86/87
post-thumbnail

public class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        // 새로운 지도를 저장할 배열
        String[] answer = new String[n];
        
        // 두 배열을 하나씩 비교하며 새로운 지도를 만든다.
        for (int i = 0; i < n; i++) {
            // OR 연산을 통해 두 지도를 합치고, 이진수로 변환한다.
            answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]);
            
            // 이진수를 주어진 길이에 맞게 포맷팅한다.
            answer[i] = String.format("%" + n + "s", answer[i]);
            
            // 1을 '#'으로, 0을 ' '으로 치환한다.
            answer[i] = answer[i].replaceAll("1", "#");
            answer[i] = answer[i].replaceAll("0", " ");
        }
        
        // 새로운 지도를 반환한다.
        return answer;
    }
}
profile
I'm still hungry.

0개의 댓글