Triangularity è un nuovo esolang sviluppato da Mr. Xcoder in cui la struttura del codice deve seguire uno schema molto specifico:
- Per la
n
riga di codice, devono esserci esattamente i2n-1
caratteri del programma su di esso. Ciò provoca una forma triangolare / piramidale, con la prima riga che ha un solo carattere e il resto che aumenta di incrementi di 2. - Ogni riga deve essere riempita con
.
s a sinistra e a destra, in modo tale che i caratteri siano centrati sulle loro linee e tutte le linee siano riempite alla stessa lunghezza. Sel
è definito come il numero di righe nel programma, ogni riga nel programma deve avere una lunghezza di2 * l - 1
Ad esempio, il programma a sinistra è valido, ma il programma a destra non è:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
Se disposto nella struttura valida, il nome diventa evidente.
Compito
Il tuo compito è quello di prendere una stringa a riga singola come input, che rappresenta il codice di triangolarità, e di convertirla in un codice valido come descritto sopra.
Specifiche per I / O:
- L'input conterrà solo caratteri nell'intervallo
0x20 - 0x7e
- La lunghezza dell'input sarà sempre un numero quadrato e quindi facilmente riempibile.
- È necessario utilizzare i punti per il riempimento dell'output, non qualcos'altro.
È possibile immettere e produrre qualsiasi metodo accettabile . Questo è un code-golf quindi vince il codice più corto in byte !
Casi test
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
Per coloro che conoscono la triangolarità, dall'ultimo caso di test noterete che le stringhe non devono essere gestite