프로그래머스Lv1 - [1차] 비밀지도
코드
function solution(n, arr1, arr2) {
var answer = [];
for(let i=0;i<n;i++) {
let trans = (arr1[i] | arr2[i]).toString(2);
trans = trans.padStart(n,'0');
// trans = trans.length >= n ? trans:new Array(n-trans.length+1).join('0')+trans;//남는 길이만큼 0으로 채움
let regex = /1/ig;
trans = trans.replace(regex, '#')
regex = /0/ig;
trans = trans.replace(regex, ' ')
answer.push(trans)
}
return answer;
}
풀이 및 소감
이 전 문제에서 알게 된 toString(2)
를 사용해 2진법으로 변환시키고 or 연산자인 |
를 사용하여 지도를 합쳐주었다. 문제는 0으로 시작하면 0이 제외된 1부터 나왔는데 padStart
라는 게 있어서 사용을 했다. 주석으로 사용한 부분도 남는 길이만큼 0으로 채우는 것이다. 그리고 나서 정규식을 활용하여 1은 '#'으로 0은 ' '으로 치환해주었다. regex를 두번 넣어주는 게 아니라 replace를 한줄로 작성했으면 더 깔끔한 코드가 됐을 거 같다. 그리고 0을 넣는 방법도 repeat
을 사용했어도 됐을 거 같다.
Author And Source
이 문제에 관하여(프로그래머스Lv1 - [1차] 비밀지도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cookncoding/프로그래머스Lv1-1차-비밀지도저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)