프로그래머스

[1차] 비밀지도

crab. 2022. 1. 31. 09:03

📌문제 출처

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

 

코딩테스트 연습 - [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다

programmers.co.kr

📌나의 코드

function solution(n, arr1, arr2) {
                let answer = [];
                let cnt = '';
                let bin1 = [];
                let bin2 = [];
                //bin1,bin2에 arr1,arr2의 2진수들을 넣습니다.
                for(let x of arr1)  bin1.push(x.toString(2))
                for(let y of arr2)  bin2.push(y.toString(2))
                //2진수가 n자리가 아닐경우 앞에 0을 넣습니다.
                for(let i=0;i<bin1.length;i++){
                    while(bin1[i].length<n){
                        bin1[i] = '0'+bin1[i]
                    }
                }
                for(let j=0;j<bin1.length;j++){
                    while(bin2[j].length<n){
                        bin2[j] = '0'+bin2[j]
                    }
                }
                //각각의 자리들을 비교하여
                //문제의 조건대로 '#'을 넣습니다.
                for(let k=0;k<bin1.length;k++){
                    for(let l=0;l<n;l++){
                        if(bin1[k][l] === '1' || bin2[k][l] === '1')  cnt+='#'
                        else cnt+=' '
                    }
                    //한 단위가 끝나면 answer에 넣어줍니다.
                    answer.push(cnt);
                    //cnt는 다시 초기화합니다.
                    cnt = '';
                }
                return answer;
            }
            //[1차] 비밀지도

 

'프로그래머스' 카테고리의 다른 글

수박수박수박수박수박수?  (0) 2022.01.31
부족한 금액 계산하기  (0) 2022.01.31
이상한 문자 만들기  (0) 2022.01.14
정수 내림차순으로 배치하기  (0) 2022.01.14
핸드폰 번호 가리기  (0) 2022.01.14