function solution(n, arr1, arr2) {
let map = []
for(i=0; i<n; i++){
let arrLine1 = arr1[i].toString(2)
let arrLine2 = arr2[i].toString(2)
if(arrLine1.length < n){
arrLine1 = '0'.repeat(n-arrLine1.length)+ arrLine1}
if(arrLine2.length < n){
arrLine2 = '0'.repeat(n-arrLine2.length)+ arrLine2}
let mapLine = ''
for(j=0; j<n; j++){
let value = arrLine1[j]*1 + arrLine2[j]*1
console.log(arrLine1[j], arrLine2[j], value)
if( value == 0){
mapLine += ' '
}else{ mapLine += '#' }
}
map.push(mapLine)
}
return map
}
2진법 변환하는 나눗셈 하기 싫어서 꾸역꾸역 문자열을 맞춰 풀었다
얼마나 허접했으면 3점 주냐..ㅋㅋㅋㅋ
function solution(n, arr1, arr2) {
let num1, num2, s;
let answer = [];
//manually turning decimals to binaries cos i can!
for (let i=0; i<n; i++){
num1 = arr1[i];
num2 = arr2[i];
s = '';
for (let j=0; j<n; j++){
s = (num1%2 + num2%2) ? '#'+s : ' '+s;
num1 = Math.floor(num1/2);
num2 = Math.floor(num2/2);
}
answer.push(s);
}
return answer;
}
arr1/2 와 arr1%2를 따로따로 변수에 담지 않고
나머지 계산 끝난 바로 다음 줄에 덮어쓰기로 담아서 코드가 깔끔 간결해졌다.
멋지당..