1차 비밀지도

채종윤·2023년 8월 10일
0

📔 문제 설명

https://school.programmers.co.kr/learn/courses/30/lessons/17681


📝 문제 풀이

 two2 = Integer.toBinaryString(arr1[i]);
  1. toBinaryString 함수를 통해 int형 숫자를 2진수로 변환
  2. two = two.substring(two2.length()) 을 통해 크기에 맞게 자름
  3. arr1 하고 arr2의 배열[1]의 첫번째 원소를 비교해서 한개라도 1이면 "#" 아니면 공백을 삽입

💡 내 코드

class Solution {
    
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        String[] twoarr1= new String[n];
        String[] twoarr2= new String[n];
        
       for(int i =0; i< arr1.length; i++){
           String two ="";
           for(int j =0; j<n;j++){
            two+="0";
       }
           String two2 ="";
           two2 = Integer.toBinaryString(arr1[i]);
           two = two+two2;
           two = two.substring(two2.length()) ;    
           twoarr1[i]=two;
       }  
      
        for(int i =0; i< arr2.length; i++){
           String two ="";
           for(int j =0; j<n;j++){
            two+="0";
        } 

           String two2 ="";
           two2 = Integer.toBinaryString(arr2[i]);
           two = two+two2;
          two = two.substring(two2.length()) ;    
           twoarr2[i]=two;
       }          
        for(int i =0; i<n;i++){
            String two3 ="";
            String a= twoarr1[i];
            String b =twoarr2[i];
            for(int j=0; j<n; j++){
                
                if(a.charAt(j)=='1'|| b.charAt(j)=='1'){
                           two3 += "#";
                }
                else{
                    two3+=" ";
                }
                }
                answer[i]=two3;      
            }            
       return answer;
             
    }
}
profile
안녕하세요. 백앤드 개발자를 목표로 하고 있습니다!

0개의 댓글