// 십진수 100을 이진수로 변경
let number = 100;
number.toString(2)
// '1100100'
// 십진수 100을 오진수로 변경
let number = 100;
number.toString(5)
// '400'
// 십진수 이진수로 초기화하는 함수
function init(n, arr){
let map = [];
for(let x of arr){
let bin = x.toString(2);
if(bin.length === n) map.push(bin)
// 길이가 작을때 앞에 0을 추가
else {
let blank = ""
for(let i = 0; i < n - bin.length; i++){
blank += "0"
}
map.push(blank+bin)
}
}
return map
}
function solution(n, arr1, arr2) {
var answer = [];
let map1 = init(n, arr1);
let map2 = init(n, arr2);
for(let i = 0; i < n; i++){
let tmp = ""
for(let j = 0; j < n; j++){
if(map1[i][j] === "1" || map2[i][j] === "1") tmp += "#"
else tmp += " "
}
answer.push(x);
}
return answer;
}
for 문으로 길이를 맞췄는데 다른 분들의 풀이를 보니 padStart() 메서드를 많이 활용해서 정리합니다.
padStart() 메서드는 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
const str1 = '5';
console.log(str1.padStart(2, '0'));
// Expected output: "05"
// 십진수 이진수로 초기화하는 함수
function init(n, arr){
let map = [];
for(let x of arr){
let bin = x.toString(2).padStart(n, "0");
map.push(bin)
}
return map
}