[Programmers] level 1 - 비밀지도 (2018 KAKAO BLIND RECRUITMENT)

Lynn·2021년 4월 7일
0

Algorithm

목록 보기
37/43
post-thumbnail

👩🏻‍💻 문제


👩🏻‍💻 정답 코드

class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        for (int i=0; i<n; i++){
            answer[i] = "";
        }
        String[] str1 = new String[n];
        String[] str2 = new String[n];
        for (int i=0; i<n; i++){
            str1[i] = Integer.toBinaryString(arr1[i]);
            while(str1[i].length()<n){
                str1[i] = "0" + str1[i];
            }
            str2[i] = Integer.toBinaryString(arr2[i]);
            while(str2[i].length()<n) {
                str2[i] = "0" + str2[i];
            }
        }
        for (int i=0; i<n; i++){
            for (int j=0; j<n; j++) {
                if (str1[i].charAt(j)=='1' || str2[i].charAt(j)=='1')
                    answer[i] = answer[i] + "#";
                else
                    answer[i] = answer[i] + " ";
            }
        }

        return answer;
    }
}

str1, str2 배열에 각각 arr1, arr2를 이진수로 변환한 String값을 넣어 줬고,
둘 중 하나라도 1이면 #가 answer배열에 추가되게 했다.


👩🏻‍💻 Remember

int num = 77;
String a2 = Integer.toBinaryString(num);  // 10진수 -> 2진수
String a8= Integer.toOctalString(num);    // 10진수 -> 8진수
String a16 = Integer.toHexString(num);    // 10진수 -> 16진수
profile
wanderlust

0개의 댓글