[Lv 1]秘密の地図
3676 ワード
秘密の地図
問題の説明
地図は、 全図は、2つの地図を重ね合わせることによって得ることができる.それぞれ「地図1」と「地図2」と言います.
地図1または地図2のいずれかが壁である部分は、地図全体でも壁である.地図1も地図2も空白の部分であり、地図全体においても空白である. 「地図1」と「地図2」はそれぞれ整数配列で暗号化されている.
暗号化配列は、地図の各横線において、壁部分を
ニオがフロドの私房金を手に入れるために、秘密地図のパスワードを解読するのに役立つプログラムを作成しました.
入力フォーマット
1 ≦ n ≦ 16 arr 1,arr 2は長さnの整数配列である. 整数配列の各要素xがバイナリ数に変換されたときの長さはn以下である.すなわち、0≦x≦2 n−1を満たす. 出力フォーマット
問題の説明
ニオは秘密の地図を手に持って、プロドが普段私房のお金を隠している場所を教えた.しかし、この秘密地図はデジタル暗号化されており、位置を確認するために解読が必要です.幸いなことに、地図のパスワードを解読する方法が書かれたメモも見つかった.
n
のエッジ長を持つ正方形の配列形式で、各セグメントは「空白」("")または「壁」("#")の2種類から構成されています.地図1または地図2のいずれかが壁である部分は、地図全体でも壁である.地図1も地図2も空白の部分であり、地図全体においても空白である.
暗号化配列は、地図の各横線において、壁部分を
1
に符号化し、空白部分を0
に符号化したときのバイナリ数の配列である.入力フォーマット
地図に入るエッジサイズnと2つの整数配列arr 1とarr 2を入力します.
出力フォーマット
元の秘密地図を復号し,'#'
,공백
からなる文字列配列で出力する.
I/O例
function solution(n, arr1, arr2) {
let result = arr1.map((a, i) =>
(a | arr2[i]) // 비밀지도는 arr1[i] or arr2[i]
.toString(2) // 10진수는 2진수로
.padStart(n, 0) // 맨 앞 0 제거되지 않도록
.replace(/0/g, " ") // 0은 공백으로
.replace(/1/g, "#") // 1은 #으로
);
return result;
Reference
この問題について([Lv 1]秘密の地図), 我々は、より多くの情報をここで見つけました
https://velog.io/@blackb0x/비밀지도
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function solution(n, arr1, arr2) {
let result = arr1.map((a, i) =>
(a | arr2[i]) // 비밀지도는 arr1[i] or arr2[i]
.toString(2) // 10진수는 2진수로
.padStart(n, 0) // 맨 앞 0 제거되지 않도록
.replace(/0/g, " ") // 0은 공백으로
.replace(/1/g, "#") // 1은 #으로
);
return result;
Reference
この問題について([Lv 1]秘密の地図), 我々は、より多くの情報をここで見つけました https://velog.io/@blackb0x/비밀지도テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol