Triangularity ist ein neuer von Mr. Xcoder entwickelter Esolang, bei dem die Codestruktur einem ganz bestimmten Muster folgen muss:
- In der
n
dritten Codezeile müssen sich genau die2n-1
Zeichen des Programms befinden. Dies führt zu einer Dreiecks- / Pyramidenform, wobei die erste Zeile nur ein Zeichen hat und der Rest in Schritten von 2 zunimmt. - Jede Zeile muss
.
links und rechts mit s aufgefüllt werden , sodass die Zeichen in der Mitte der Zeilen stehen und alle Zeilen auf die gleiche Länge aufgefüllt werden. Wennl
als Anzahl der Zeilen im Programm definiert ist, muss jede Zeile im Programm eine Länge von haben2 * l - 1
Das Programm auf der linken Seite ist beispielsweise gültig, das Programm auf der rechten Seite jedoch nicht:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
In der gültigen Struktur wird der Name deutlich.
Aufgabe
Ihre Aufgabe ist es, eine einzelne Zeichenfolge als Eingabe zu verwenden, die den Triangularitätscode darstellt, und sie wie oben beschrieben in gültigen Code zu konvertieren.
Spezifikationen für E / A:
- Die Eingabe enthält nur Zeichen im Bereich
0x20 - 0x7e
- Die Länge der Eingabe ist immer eine quadratische Zahl und daher gut auffüllbar.
- Sie müssen Punkte als Ausgabeauffüllung verwenden, nicht etwas anderes.
Sie können durch jede akzeptable Methode eingeben und ausgeben . Dies ist ein Code-Golf, also gewinnt der kürzeste Code in Bytes !
Testfälle
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
Für diejenigen, die Triangularity kennen, werden Sie im letzten Testfall feststellen, dass Zeichenfolgen nicht behandelt werden müssen