비밀지도

스카치·2023년 2월 14일
0




// 풀이 1
function solution(n, arr1, arr2) {
    let answer = Array.from({length:n}, () => '');
    arr1 = arr1.map(v => v.toString(2).padStart(n,'0'))
    arr2 = arr2.map(v => v.toString(2).padStart(n,'0'))

    for (let i=0; i<n; i++){
        for (let j=0; j<n; j++){
            if (arr1[i][j] === '0' && arr2[i][j]==='0') answer[i] += ' '
            else answer[i] += '#'
        }
    }
    return answer;
}

function solution(n, arr1, arr2) {
    return arr1.map((v, i) => addZero(n, (v | arr2[i]).toString(2)).replace(/1|0/g, a => +a ? '#' : ' '));
}

const addZero = (n, s) => {
    return '0'.repeat(n - s.length) + s;
}

// 풀이 2
var solution=(n,a,b)=>a.map((a,i)=>(a|b[i]).toString(2).padStart(n,0).replace(/0/g,' ').replace(/1/g,'#'))

// 풀이 3
function solution(n, arr1, arr2) {
    return arr1.map((v, i) => addZero(n, (v | arr2[i]).toString(2)).replace(/1|0/g, a => +a ? '#' : ' '));
}

const addZero = (n, s) => {
    return '0'.repeat(n - s.length) + s;
}

0개의 댓글