코딩 테스트/프로그래머스 코딩 테스트 연습
[JS] 비밀지도
58청춘
2024. 9. 27. 13:17
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/17681
풀이
입력을로 받은 배열에 저장되어 있는 숫자들을 2진수로 변환한 뒤, 자릿수를 맞춰주고 OR 연산을 이용해 벽의 구현을 진행해준다.
코드
const solution = (n, arr1, arr2) => {
arr1 = arr1.map(e => {
let binary = e.toString(2);
const len = binary.length;
for (let i = 0; i < n - len; i++) {
binary = '0' + binary;
}
return binary.split('').map(Number);
});
arr2 = arr2.map(e => {
let binary = e.toString(2);
const len = binary.length;
for (let i = 0; i < n - len; i++) {
binary = '0' + binary;
}
return binary.split('').map(Number);
})
return arr1.map((el, idx) => {
return el.map((e, i) => {
return (e || arr2[idx][i]) === 1 ? '#' : ' ';
}).join('')
})
};
728x90