개발공부/코딩테스트 연습문제

[프로그래머스] (1차)비밀지도

ku-na 2022. 1. 11. 14:07

문제 설명과 제한사항

두 배열의 정수를 이진수로 변환하고 1은 # 0 은 공백으로 취급하여 지도를 반환해라.

반환은 String형 배열로.

 

풀이

class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        int[][] map = new int[n][n];
        
        for(int i = 0 ; i < n ; i++){
            for(int j = n-1 ; j >= 0 ; j--){
                map[i][j] = arr1[i] % 2;
                arr1[i] = arr1[i] / 2;
                map[i][j] += arr2[i] % 2;
                arr2[i] = arr2[i] / 2;
            }
        }
        
        for(int i = 0; i < n; i++){
            answer[i] = "";
            for(int j = 0 ; j < n ; j++){
                if(map[i][j] > 0) answer[i] += "#";
                else answer[i] += " ";    
            }
        }
        
        return answer;
    }
}

++ 

비효율적으로 짜게 된 것 같아서 많이 아쉬웠다.. 

더 효율적인 방법을 고민해봐야겠다.

+++

모르겠땅~