はじめに
これはパディングを必要とし、入力のデータタイプが不明であるため、Aのテキストよりも複雑です。
Dyalog Ltd.は毎年学生コンテストを開催しています。そこでの課題は、優れた APLコードを作成することです。これは、今年の10番目の問題の言語に依存しないコードゴルフ版です。
コンテストの元の作成者から、ここにこのチャレンジを投稿する明示的な許可があります。提供されたリンクをたどり、作者に連絡して確認してください。
問題
与えられた文字列または数値リストを、入力のすべての要素を含む最小の正方形に再形成するプログラム/関数を記述し、必要に応じて追加の要素でパディングします。pad要素は、特定のデータ型のデフォルトのfill要素、または任意の1つの要素にする必要があります。正方形の要素は、それを平坦化すると入力データの元の順序が与えられるような順序でなければなりません(後続のパディング要素がある場合は、それも含みます)。
テストケース
[1,2,3,4]
→
[[1,2],
[3,4]]
[1,2,3,4,5]
→
[[1,2,3],
[4,5,0],
[0,0,0]]
"Dyalog APL"
→
[["Dyal"], [["D","y","a","l"],
["og A"], or ["o","g"," ","A"],
["PL "], ["P","L"," "," "],
[" "]] [" "," "," "," "]]
[100]
→
[[100]]
[]
→
あなたの言語が空の行列に最も近いもの、例えば[]
または[[]]
[1,2,3,4,'O']
、出力はどうなるか、または発生しないことが保証されますか?3.要件を平坦化した後の必要な順序は、パッド要素を無視していますか(例:[1,2,3,4,5]
歩留まりの入力[[0,0,0],[0,1,2],[3,4,5]]
または[[0,1,0],[2,0,3],[0,4,5]]
)