728x90
반응형
내 풀이
function solution(n, arr1, arr2) {
let res=[]
arr1=arr1.map((e)=>{
return e.toString(2).padStart(arr1.length,0)
})
arr2=arr2.map((e)=>{
return e.toString(2).padStart(arr2.length,0)
})
for (let i = 0; i < arr1.length; i++) {
arr1[i]=arr1[i].replaceAll(1,'#')
arr2[i]=arr2[i].replaceAll(1,'#')
let temp=''
for (let j = 0; j < n; j++) {
if(arr1[i][j]==='#'||arr2[i][j]==='#') temp+='#'
else temp+=' '
}
res.push(temp)
}
return res
}
다른 풀이
function solution(n, arr1, arr2) {
return arr1.map((v, i) => addZero(n, (v | arr2[i]).toString(2)).replace(/1|0/g, a => +a ? '#' : ' '));
}
const addZero = (n, s) => {
return '0'.repeat(n - s.length) + s;
}
addZero는 padStart와 같은 역할
replace 부분
-> 정규식 : 1또는0, a => +a 숫자면 '#' 문자('0')이면 공백
728x90
반응형
'알고리즘(Algorithm)' 카테고리의 다른 글
프로그래머스 - 체육복(Greedy) [JS] (0) | 2023.01.13 |
---|---|
프로그래머스 - 다트게임 [JS] (0) | 2023.01.11 |
프로그래머스 - 소수 만들기[JS] (0) | 2023.01.09 |
프로그래머스 - 소수 찾기[JS] (0) | 2023.01.08 |
프로그래머스 - 숫자 문자열과 영단어 [JS][2021 카카오 인턴] (0) | 2023.01.05 |