반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/17681
🔐 문제 분석
- 배열의 각 각의 원소를 이진수로 변환한다.
- 지도를 겹쳤을 때, 아래와 같은 값을 가지므로 비트 연산을 한다.
Ex) (0, 0) -> 0
(1, 0) -> 1
(0, 1) -> 1
(1, 1) -> 1 - 이진수로 변환했을 때, 자릿수가 다른 경우가 있으므로 자릿수를 맞춰준다.
- 이진수를 부호화시킨다. (0일 때는 공백, 1일 때는 #으로 치환)
🔐 문제 풀이
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] = String.format("%0" + n + "d", Long.parseLong(Integer.toBinaryString(arr1[i] | arr2[i]))).replaceAll("0", " ").replaceAll("1", "#");
}
return answer;
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 문자열 내 마음대로 정렬하기 (0) | 2023.06.06 |
---|---|
[프로그래머스] Lv1. 삼총사 (0) | 2023.06.06 |
[프로그래머스] Lv1. 최소직사각형 (0) | 2023.06.06 |
[프로그래머스] Lv1. 예산 (0) | 2023.06.06 |
[프로그래머스] Lv1. 숫자 문자열과 영단어 (0) | 2023.06.06 |