비밀지도

김현민·2021년 9월 14일
0

Algorithm

목록 보기
78/126
post-thumbnail

내 코드


// #으로된 2차원 배열로 만드는 함수
function toMap(n, input) {
  var arr1Bin = []

  let temp = []
  let tt = []

  for (let i = 0; i < input.length; i++) {
    arr1Bin.push(input[i].toString(2))
  }

  for (let i = 0; i < n; i++) {
    tt = arr1Bin[i].split("")
    if (tt.length !== n) {
      tt = tt.join("").padStart(n, "0").split("")
    }
    temp.push(tt)
  }

  for (let i = 0; i < temp.length; i++) {
    for (let j = 0; j < temp[i].length; j++) {
      if (temp[i][j] === "1") temp[i][j] = "#"
    }
  }

  return temp
}



function solution(n, arr1, arr2) {
  var answer = []

  var res1 = toMap(n, arr1)
  var res2 = toMap(n, arr2)

  let temp = []

  for (let i = 0; i < res1.length; i++) {
    for (let j = 0; j < res1.length; j++) {
      if (res1[i][j] === res2[i][j]) {
        temp.push(res1[i][j])
      } else temp.push("#")
    }
    answer.push(temp)
    temp = []
  }
  
  var answer2 = []
  for (let i = 0; i < answer.length; i++) {
    var ttt = answer[i].map((v) => {
      if (v === "0") return " "
      else return v
    })
    answer2.push(ttt.join(""))
  }
  return answer2
}

solution(6, [46, 33, 33, 22, 31, 50], [27, 56, 19, 14, 14, 10])




다른사람의 코드


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;
}

하..🤦🏻‍♂️

profile
Jr. FE Dev

0개의 댓글