Triangularityは、Xcoder氏によって開発された新しいエソランであり、コード構造は非常に具体的なパターンに従う必要があります。
n
コードのth行について2n-1
は、プログラムの正確な文字がその上になければなりません。これにより、最初の行は1文字のみで、残りは2ずつ増加する三角形/ピラミッドの形状になります。- 各行の
.
左右にsを埋め込み、文字が行の中央に配置され、すべての行が同じ長さで埋め込まれるようにする必要があります。l
がプログラムの行数として定義されている場合、プログラムの各行の長さは2 * l - 1
たとえば、左側のプログラムは有効ですが、右側のプログラムは無効です。
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
有効な構造にレイアウトすると、名前が明らかになります。
仕事
あなたの仕事は、三角コードを表す単一行の文字列を入力として受け取り、それを上記のように有効なコードに変換して出力することです。
I / Oの仕様:
- 入力には、範囲内の文字のみが含まれます
0x20 - 0x7e
- 入力の長さは常に二乗数であるため、うまくパディング可能です。
- 出力パディングには、他のものではなくドットを使用する必要があります。
受け入れ可能な任意の方法で入力および出力できます。これはコードゴルフなので、バイト単位の最短コードが勝ちです!
テストケース
input
----
output
g
----
g
PcSa
----
.P.
cSa
DfJ0vCq7G
----
..D..
.fJ0.
vCq7G
7xsB8a1Oqw5fhHX0
----
...7...
..xsB..
.8a1Oq.
w5fhHX0
QNYATbkX2sKZ6IuOmofwhgaef
----
....Q....
...NYA...
..TbkX2..
.sKZ6IuO.
mofwhgaef
ABCDEF"$%& G8"F@
----
...A...
..BCD..
.EF"$%.
& G8"F@
ab.c
----
.a.
b.c
三角性を知っている人にとっては、最後のテストケースから文字列を処理する必要がないことに気付くでしょう。