본문 바로가기

코테/프로그래머스

비밀지도

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
   
    public String[] solution(int n, int[] arr1, int[] arr2) {
        int arrLength = arr1.length;
        String[] answer = new String[arrLength];
        int[] arrBitSum = new int[arrLength];
        for(int i = 0; i<arrLength; i++){
            answer[i] = Integer.toBinaryString(arr1[i] | arr2[i] ); 
            answer[i] = String.format("%" + arrLength + "s",answer[i]); 
            answer[i] = answer[i].replace("1","#");
            answer[i] = answer[i].replace("0"," ");
        }
        return answer;
    }
    
}
cs

 

재귀를 이용한 풀이

솔직히 혼자 생각하는건 힘들다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution {
    public String makeSharp(int n , int m){
        if(n==0){
            if(m>0){
                String s="";
                for(int i =0; i<m; i++){
                    s+=" ";
                }
                return s;
            }else{
                return "";
            }
            
        }
        if(n%2 == 0){
            makeSharp(n/2,m-1+" ";
        }else{
            makeSharp(n/2,m-1+"#";
        }
    }
    
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        int secretMap = new int[n];
        for(int i =0;i<n;i++){
            secretMap[i] =arr1[i]|arr2[i];
            answer[i] = makeSharp(secretMap[i],n);
        }
        return answer;
    }
}
cs

'코테 > 프로그래머스' 카테고리의 다른 글

나누어 떨어지는 수  (0) 2020.12.28
어린 동물 찾기  (0) 2020.12.28
여러 기준으로 정렬하기  (0) 2020.12.27
이름 있는 동물 아이디  (0) 2020.12.27
상위 n개 레코드  (0) 2020.12.26