プログラマー解題[第一歩]秘密地図(JS)


メインシークレットマップ

문제분석地図の辺の長さを表すn、地図1と2を表す配列arr 1とarr 2をパラメータとして指定すると、地図を結合して地図のパスワードを復号する関数解を作成する문제조건1. 1<=n<=16
2.arr 1,arr 2長さn,元素整数
3.整数配列の各要素xを2進数に変換する場合、長さはnより小さい풀이
function solution(n, arr1, arr2) {
    const result = [];
    for( let i = 0 ; i<n; i++) {
        let temp = sumel(n,arr1[i],arr2[i]);
        temp = temp.replace(/[1-2]/g,"#").replace(/[0]/g," ");
        result.push(temp);
    }
    return result;
}
function sumel(n,el1,el2){
    const f = (el) => parseInt(el.toString(2),10);
    let sumtoStr = f(el1)+f(el2)+"";
    if(sumtoStr.length<n){
       sumtoStr = sumtoStr.padStart(n,0);
    }
    return sumtoStr;        
}
다른 풀이
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;
}