Lv.1秘密の地図
17012 ワード
🤖質問する
👍 2022年1月27日
マイコード
<script>
const binaryChange = (num) => {
let binaryStr = "";
while (num !== 0) {
binaryStr = String(num%2).concat(binaryStr)
num = parseInt(num/2);
}
return binaryStr;
}
const encoding = (binary, n) => {
if (binary.length < n) {
let zero = "0".repeat(n-binary.length);
binary = zero.concat(binary);
}
let encodedBinary = "";
for (let v of binary) {
v === "0" ? encodedBinary += " " : encodedBinary += "#"
}
return encodedBinary
}
function solution(n, arr1, arr2) {
var answer = [];
let arr1Encode = [];
let arr2Encode = [];
arr1Encode = arr1.map((v, i) => {
return encoding(binaryChange(v), n)
})
arr2Encode = arr2.map((v,i) => {
return encoding(binaryChange(v), n)
})
for (let i=0; i<n; i++) {
let NthLine = "";
for (let j=0; j<n; j++) {
if (arr1Encode[i][j] === "#" || arr2Encode[i][j] === "#") {
NthLine += "#"
} else NthLine += " "
}
answer.push(NthLine);
}
return answer;
}
</script>
ショートコード
<script>
function solution(n, arr1, arr2) {
var answer = [];
let arr1Encode = [];
let arr2Encode = [];
arr1Encode = arr1.map((v, i) => {
return v.toString(2).padStart(n,0).replace(/0/g," ").replace(/1/g, "#")
})
arr2Encode = arr2.map((v,i) => {
return v.toString(2).padStart(n,0).replace(/0/g," ").replace(/1/g, "#")
})
for (let i=0; i<n; i++) {
let NthLine = "";
for (let j=0; j<n; j++) {
if (arr1Encode[i][j] === "#" || arr2Encode[i][j] === "#") {
NthLine += "#"
} else NthLine += " "
}
answer.push(NthLine);
}
return answer;
}
</script>
だから復習は大切だ.三進法を使うのは数日前にTOStringを習っただけで忘れたのではないでしょうか.値変換も正規表現とreplaceで簡単に...😑Reference
この問題について(Lv.1秘密の地図), 我々は、より多くの情報をここで見つけました https://velog.io/@youjinee98/Lv.1-비밀지도テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol