프로그래머스 Lv. 1 2018 KAKAO [1차] 비밀지도

FE 개발자 신상오·2022년 6월 12일
0

프로그래머스

목록 보기
14/20
post-thumbnail

문제


풀이

// arr1, arr2 암호를 2진법으로 변환해서 배열로 만들기
// map1, map2 인덱스의 각 요소를 비교
// || 조건으로 finalMap 채우기
function solution(n, arr1, arr2) {
  
    let map1 = [];
    let map2 = [];
    let finalMap = [];
    let result = '';
    
  // 1. 복호화 - 2진법 변환
    for (let i = 0; i < n; i++){
        map1.push(arr1[i].toString(2));
        map2.push(arr2[i].toString(2));
    } 
  
  // 2. n보다 짧을 경우 길이 0추가해서 길이 맞추기 
  for (let i = 0; i < n; i++){
        while(map1[i].length < n){
            map1[i] = 0 + map1[i]
        }
        while(map2[i].length < n){
            map2[i] = 0 + map2[i]
        }
    }
  
  // 3. map1, map2 둘중에 하나라도 1 있을 경우 '#' 없으면 ' '
    for (let i = 0; i < n; i++){
        result = ''
     for (let j = 0; j < n; j++){
         if(map1[i][j] === '1' || map2[i][j] === '1'){
             result += '#'
         }else {
             result += ' '
         }
     }
        finalMap.push(result);
    }
   
    return finalMap;
}

해설

profile
주간 회고용 블로그입니다 (개발일지와 정보글은 티스토리에 작성합니다.)

0개의 댓글