반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

undefined

[프로그래머스] 비밀지도 -JS 본문

Coding Test

[프로그래머스] 비밀지도 -JS

JavaScripter 2022. 6. 27. 06:38
반응형

문제 설명


문제 풀이

function fillZero (arr,length) {
     arr.map((e,i) => {
if(arr[i].length < length) {
        while(arr[i].length < length) {
            arr[i] = '0' + arr[i]
        }
    }
     
 })
}

function solution(n, arr1, arr2) {
    let answer = []
    let line = ''
 const binary1 = arr1.map(e=>e.toString(2))
 const binary2 = arr2.map(e=>e.toString(2))

    fillZero(binary1,n)
    fillZero(binary2,n)
    
 for(let i = 0; i < binary1.length; i++) {
     for(let j = 0; j < binary1[i].length; j++) {
          if(binary1[i][j] === '0' && binary1[i][j] === binary2[i][j] ) {
         line += ' '
     } else {
         line += '#'
     }
     }
     answer.push(line)
     line = ''
 }
    return answer
}

1. arr를 2진수로 변환

 

2. 2진수로 바꾸면 앞에 0은 자동으로 생략되는데 길이를 n으로 맞춰주기 위해서 fillZero 함수 생성

 

3.  같은 자리의 2진수 요소들을 비교하여 둘다 0인 경우에는 공백 추가 나머지는 #추가

 

4. answer 배열에 넣고 line값 초기화


배운 점

while에 조금 더 가까워진 느낌

반응형
Comments