728x90
https://school.programmers.co.kr/learn/courses/30/lessons/17681
function solution(n, arr1, arr2) {
var answer = [];
for(let i = 0; i<n; i++){
answer[i] = ""
for(let k =0; k<n; k++){
if(parseInt(arr1[i]/2**(n-1-k)) !==0){
arr1[i] -= 2**(n-1-k)
answer[i] += "#"
if(parseInt(arr2[i]/2**(n-1-k)) !==0){
arr2[i] -= 2**(n-1-k)
}
}
else if(parseInt(arr2[i]/2**(n-1-k)) !==0) {
arr2[i] -= 2**(n-1-k)
answer[i] += "#"
}
else{
answer[i] += " "
}
}
}
return answer;
}
2진수로 바꾸는 방법을 생각하다가 for문을 활용해서 직접 2진수의 숫자로 바꿔주었다.
찾아보니 toString(2)를 통하여 2진수로 바꿔주는 방법도 있었다.
2진수로 바꾸고 비트연산자를 통해 풀었다면 더 가독성있게 코드를 짤수 있었을것 같다.
728x90