ジャバスクリプトKatas
11709 ワード
イントロ🌐
問題解決は、あなたのキャリアと一般的にあなたの人生のために重要なスキルです.
だからこそ、私はすべてのレベルの興味深いカタを取る、それらをカスタマイズし、それらを解決する方法を説明します.
運動の理解❗
まず、運動を理解する必要があります!
あなたがそれを理解していない場合は、それを解決することはできません!
私の個人的方法
今日の運動
今日、別
7 kyu
カタ私たちは少し難易度を高める意味.
ソースCodewars
関数を書き込む
drawChessboard
, これは2つのパラメータを受け取ります:rows
and columns
.与えられる
rows
例えば.3
, とcolumns
例えば.3
,chessboardを2次元配列として返します.
[
[ "O", "X", "O" ],
[ "X", "O", "X" ],
[ "O", "X", "O" ]
]
ホワイトは"O"
, ブラックバイ"X"
, 最初の行は"O"
.入力:2つの数字.
出力配列の配列.
解決策を考える💭
私は運動(=私が関数に入れたものと私がそれから得たいもの)を理解すると思います.
今、私は入力から出力に得る特定のステップを必要とします.
私は小さい赤ちゃんステップでこれをしようとします:
columns
) で始まる"O"
columns
) で始まる"X"
rows
) 行3, 3
columns
) で始まる"O"
: [ "O", "X", "O" ]
columns
) で始まる"X"
: [ "X", "O", "X" ]
rows
) 行:1追加行(=> 3 - 2 = 1)
: [ "O", "X", "O" ]
[ [ "O", "X", "O" ], [ "X", "O", "X" ], [ "O", "X", "O" ]]
[ [ "O", "X", "O" ], [ "X", "O", "X" ], [ "O", "X", "O" ]]
✅ 実装⛑
function drawChessboard(rows, columns) {
// Create an empty board with the correct amount of rows
const board = [...Array(rows)].map((_) => []);
// Create a row with the correct length that starts with "O"
const rowO = [...Array(columns)].map((_, i) => (i % 2 ? "X" : "O"));
// Create a row with the correct length that starts with "X"
const rowX = [...Array(columns)].map((_, i) => (i % 2 ? "O" : "X"));
// Add the proper row to each board row
return board.map((_, i) => (i % 2 ? rowX : rowO));
}
結果
console.log(drawChessboard(3, 3));
/*
[
[ "O", "X", "O" ],
[ "X", "O", "X" ],
[ "O", "X", "O" ]
]
*/
// ✅
console.log(drawChessboard(2, 4));
/*
[
[ "O", "X", "O", "X" ],
[ "X", "O", "X", "O" ]
]
*/
// ✅
実装(暗黙のうち)⛑
function drawChessboard(rows, columns) {
return [...Array(rows)]
.map((_) => [])
.map((_, i) =>
i % 2
? [...Array(columns)].map((_, i) => (i % 2 ? "O" : "X"))
: [...Array(columns)].map((_, i) => (i % 2 ? "X" : "O"))
);
}
結果
console.log(drawChessboard(3, 3));
/*
[
[ "O", "X", "O" ],
[ "X", "O", "X" ],
[ "O", "X", "O" ]
]
*/
// ✅
console.log(drawChessboard(2, 4));
/*
[
[ "O", "X", "O", "X" ],
[ "X", "O", "X", "O" ]
]
*/
// ✅
遊び場⚽
あなたはコードで遊ぶことができますhere
次部分➡️
大仕事!
使い方を学んだ
...
, Array
, map
.私はあなたがより簡単に問題を解決するためにあなたの新しい学習を使用できることを願って!
次回は別の面白いカタを解決します.ステイ!
私は特定のカタを解決する必要がある場合は、私にメッセージを撮影here .
あなたが私の最新のものを読みたいならば.get in touch with me!
更なる読書📖
質問❔
Reference
この問題について(ジャバスクリプトKatas), 我々は、より多くの情報をここで見つけました https://dev.to/miku86/javascript-katas-draw-chessboard-622テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol