[프로그래머스] 비밀지도 (javascript)

728x90
반응형

* 2021 - 03- 31 코드

 

function solution(n, arr1, arr2) {
    return arr1.map((row,i)=>{
        let x=arr1[i].toString(2);
        let y=arr2[i].toString(2);
       if(x.length<n){
           x=" ".repeat(n-x.length)+x;
       }
        if(y.length<n){
            y=" ".repeat(n-y.length)+y;
        }
        let s="";
        for(let k=0;k<x.length;k++){
            if(x[k]==="1" || y[k]==='1'){
                s+="#";
            }else{
                s+=" ";
            }
        }
        return s;
    })
}

 

 

 

 

---- 이전 코드 

 

나는 따로 구해줬지만 arr1|arr2로 or연산을 한뒤 toString(2)로 진법 변환을 하는 것이 먹히는 것 같다.

function solution(n, arr1, arr2) {
    var answer = [];
    const one=[];
    const two=[];
    for(let i=0;i<arr1.length;i+=1){
        const s=arr1[i].toString(2);
        one.push(s.length===n?s:'0'.repeat(n-s.length)+s);
    }
    for(let i=0;i<arr2.length;i+=1){
        const s=arr2[i].toString(2);
        two.push(s.length===n?s:'0'.repeat(n-s.length)+s);
    }
    for(let i=0;i<n;i+=1){
        let temp='';
        for(let j=0;j<n;j+=1){
            if(one[i][j]==='1' || two[i][j]==='1'){
                temp+='#';
            }else temp+=' ';
        }
        answer.push(temp);
    }
    return answer;
}
728x90
반응형
TAGS.

Comments