프로그래머스 비밀지도 자바 - 2018 카카오 블라인드 채용

문제

주어진 2개의 배열을 값을 이진수로 각각 변환 후 합치게 되면 비밀지도가 나타나고 이 비밀지도를 요구사항에 맞춰서 출력하면 된다.

접근

풀이

1번

String [] ans = new String[n];

for(int i=0 ; i<n ; i++) {
    String binaryStr = Integer.toBinaryString(arr1[i] | arr2[i]);

    String temp = "";

    for(int j=0 ; j<n-binaryStr.length() ; j++) {
        temp += " ";
    }

    for(int j=0 ; j<binaryStr.length() ; j++) {
        if(binaryStr.charAt(j) == '1') temp += "#";
        else temp += " ";
    }

    ans[i] = temp;
}

비밀지도 문제는 문자열을 주어진 요구사항에 따라 잘 변환할 수 있는지와 이진수를 구하는 메소를 안다면 쉽게 풀 수 있습니다. 만약 이진수 변환 메소드를 모른다면 하나씩 나누면서 구해야 하는 복잡함을 거쳐야 합니다. toHexString(), toOxString() 등의 8진수 16진수 변환할 수 있는 메소드가 Integer 클래스안에 포함되어 있습니다.

결론



Related Posts