La triangularité est un nouvel esolang développé par M. Xcoder où la structure du code doit suivre un modèle très spécifique:
- Pour la
n
e ligne de code, il doit y avoir exactement des2n-1
caractères du programme. Cela provoque une forme triangulaire / pyramide, la première ligne n'ayant qu'un seul caractère et le reste augmentant par incréments de 2. - Chaque ligne doit être remplie de
.
s à gauche et à droite, de sorte que les caractères soient centrés sur leurs lignes et que toutes les lignes soient remplies à la même longueur. Sil
est défini comme le nombre de lignes du programme, chaque ligne du programme doit avoir une longueur de2 * l - 1
Par exemple, le programme de gauche est valide, mais le programme de droite n'est pas:
Valid | Invalid
|
...A... | ABCDE
..BCD.. | FGH
.EFGHI. | IJKLMN
JKLMNOP | OPQRS
Lorsqu'il est disposé dans la structure valide, le nom devient évident.
Tâche
Votre tâche consiste à prendre une chaîne de ligne unique en entrée, représentant le code de triangulation, et à la convertir en code valide comme décrit ci-dessus.
Spécifications pour les E / S:
- L'entrée ne contiendra que des caractères dans la plage
0x20 - 0x7e
- La longueur de l'entrée sera toujours un nombre carré et donc bien remplissable.
- Vous devez utiliser des points pour le remplissage de sortie, pas autre chose.
Vous pouvez entrer et sortir par n'importe quelle méthode acceptable . C'est un code-golf donc le code le plus court en octets gagne!
Cas de 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
Pour ceux qui connaissent la triangulation, vous remarquerez dans le dernier cas de test que les chaînes n'ont pas à être gérées