티스토리 뷰

 

💡 나의 풀이 

10진수를 2진수로 변환하는 함수인 Integer.toBinaryString(num)과 replace 함수를 사용하여 풀이 
비트연산자 "|"를 사용하여 먼저 수행 후 "#" 또는 " "으로 대체하여 출력 
| -> 둘 중 하나라도 1이면 1, 아니면 0 (OR)
& -> 둘 중 모두 1이면 1, 아니면 0 (AND)
^ -> 두 비트가 다를 때 1 출력 (XOR)
~ -> 비트 전환 연산자 / 1이면 0, 0이면 1로 전환 

import java.util.*;

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] = Integer.toBinaryString(arr1[i] | arr2[i]);
          //비트연산 : 7 | 2 이면 00111 | 00001 일 때 하나라도 1이면 1, 아니면 0
        }
      for(int i = 0; i < n; i++){
          answer[i] = String.format("%"+n+"s", answer[i]); //n개의 자릿수만큼 문자열 담기
          answer[i] = answer[i].replace("1", "#"); //answer[i]가 1이면 #으로 대체
          answer[i] = answer[i].replace("0", " "); //answer[i]가 0이면 " "으로 대체
      }  
      
      return answer;
      }    
  }

 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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