본문 바로가기

알고리즘

2018 kakao blind recruitment >[1차] 비밀지도

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/17681

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(n, arr1, arr2) {
  let modifiedArr1 = makeDigit(arr1,n)
  let modifiedArr2= makeDigit(arr2,n)
  return compare(modifiedArr1,modifiedArr2)
  
  function makeDigit(array,number){
    let newArray=[]
    for (let i = 0; i < number; i++) {
      let num = array[i];
      let temp = "";
      for (let j = n - 1; j >= 0; j--) {
        if (parseInt(num / Math.pow(2, j)) >= 1) {
          num = num - Math.pow(2, j);
          temp += 1;
        } else {
          temp += 0;
        }
      }
      newArray.push(temp);
    }
    return newArray
  }

  function compare(arr1, arr2){
    let newArr =[]
    for(i=0;i<arr1.length;i++){
      let temp=""
      for(let j=0;j<arr1[i].length;j++){
        if(arr1[i][j]!=="1"&&arr2[i][j]!=="1"){
          temp=temp+" "
        }else{
          temp=temp+"#"
        }
      }
      newArr.push(temp)
    }
    return newArr
  }
}
728x90