2018 카카오 블라인드 채용
function solution(n, arr1, arr2) {
const map1 = arr1.map(el => el.toString(2).padStart(n, '0').split('').map(el => {
if (!+el) return ' ';
return '#';
}));
const map2 = arr2.map(el => el.toString(2).padStart(n, '0').split('').map(el => {
if (!+el) return ' ';
return '#';
}))
return map1
.map((_, i) => map2[i].map((_, j) => {
return map1[i][j] === '#' || map2[i][j] === '#' ? '#' : ' ';
}))
.map(el => el.join(''));
}
입력값의 제한은 다음과 같다.
딱히 특정 알고리즘을 지양해야겠다고 생각하지는 않았다.
이중 배열을 처리할 때는 이중으로 map을 사용하자.
✨ 참고로 문자열 메서드인 padStart()와 padEnd()를 알아두자!