[1차] 비밀지도
Solution
function solution(n, arr1, arr2) {
const answer = [];
for (let i = 0; i < n; i++) {
answer.push(
(arr1[i] | arr2[i])
.toString(2)
.padStart(n, "0")
.replace(/0|1/g, (char) => (char === "1" ? "#" : " "))
);
}
return answer;
}
Review
Single Vertical Line
note
| : 비교하는 비트 중에서 하나라도 1이면 1 반환(OR)
두 값을 |로 비교한 뒤에 이진번으로 바꾸면 해당 조건을 바로 만족한다. 그 후에 padstart로 0을 채워주고 치환 해주면 완성 된다.