undefined
[프로그래머스] 비밀지도 -JS 본문
반응형
문제 설명
문제 풀이
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에 조금 더 가까워진 느낌
반응형
'Coding Test' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 -JS (0) | 2022.06.30 |
---|---|
[프로그래머스] 소수 만들기 -자바스크립트(JS) (0) | 2022.06.28 |
[프로그래머스] 다트게임 -자바스크립트(JS) (0) | 2022.06.26 |
[프로그래머스] 실패율 -JS (0) | 2022.06.25 |
[프로그래머스] 내적 - JS (0) | 2022.06.23 |
Comments