[JAVA] 프로그래머스 Lv1. 비밀지도 - 다른풀이(비트연산자)
2020. 11. 13. 03:28
728x90
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] result = new String[n];
for (int i = 0; i < n; i++) {
// 비트연산자 OR을 이용해 연산한다. => 두 비트 중 하나가 1일 경우 1을 반환.
result[i] = Integer.toBinaryString(arr1[i] | arr2[i]);
}
for (int i = 0; i < n; i++) {
result[i] = String.format("%" + n + "s", result[i]);
result[i] = result[i].replaceAll("1", "#");
result[i] = result[i].replaceAll("0", " ");
}
return result;
}
}
*비트 논리 연산자*
연산자 | 논리 | 설명 |
& | AND | 두 비트 모두 1일 경우에만 연산 결과가 1 |
| | OR | 두 비트 중 하나만 1일 경우에만 연산결과가 1 |
^ | XOR | 두 비트중 하나는 1이고 다른 하나가 0일경우에만 연산결과가 1 |
~ | NOT | 비트 반전(보수) |
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv1. 크레인 인형뽑기 게임 - 다른풀이(stack) (0) | 2020.11.18 |
---|---|
[JAVA] 프로그래머스 Lv1. 크레인 인형뽑기 게임 (0) | 2020.11.18 |
[JAVA] 프로그래머스 Lv1. 비밀지도 (0) | 2020.11.12 |
[JAVA] 프로그래머스 Lv1. 내적 (0) | 2020.11.06 |
[JAVA] 프로그래머스 Lv1. 문자열 내 마음대로 정렬하기 - 다른 풀이 (0) | 2020.11.06 |