Argorithm
[Programmers]Lv.1 비밀지도
빙응이
2024. 1. 3. 20:58


📝풀이
제일 중요한 것은 비트 계산을 할 수 있는가? 이다.
int combined = arr1[i] | arr2[i];
answer[i] = Integer.toBinaryString(combined);
위의 첫번째 라인은 비트의 OR 계산이다.
세번째 라인은 10진수를 비트로 바꾸는 것이다.
이것만 알면 쉽게 푸는게 가능하다.
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for (int i = 0; i < n; i++) {
int combined = arr1[i] | arr2[i];
answer[i] = Integer.toBinaryString(combined);
while (answer[i].length() < n) {
answer[i] = "0" + answer[i];
}
answer[i] = answer[i].replaceAll("1", "#");
answer[i] = answer[i].replaceAll("0", " ");
}
return answer;
}
}