비밀지도

Seongjin Jo·2023년 2월 17일
0

프로그래머스 LV1

목록 보기
3/31

문제

풀이

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]); //비트연산 OR
            answer[i]=answer[i].replace('0',' ').replace('1','#');
            
            while(answer[i].length()<n){
                answer[i] = " " + answer[i];
            }
        }
        return answer;
    }
}

두 배열의 요소를 비트연산을 때려서 answer[]에 담는다.그리고 replace를 이용해 변환.
길이가 짧으면 공백으로 채워준다

암기

비트연산
AND 연산 : &
OR 연산 : |

진수 변환
10진수 -> 2진수 String
Integer.toBinaryString(8); //1000
Integer.toBinaryString(1); //1

radix 진수 -> 10진수 int
Integer.parseInt("1000",radix); //8

0개의 댓글