Selon moi, une tornade ressemble à ceci:
########
#######
######
#####
####
###
##
#
Cette tornade commence par la largeur n
, et sur chaque ligne suivante, un caractère est supprimé à gauche ou à droite, selon l'entrée.
Contribution
L'entrée sera une liste d'une sorte de deux valeurs uniques (une chaîne de deux caractères uniques fonctionne aussi), et un entier positif facultatif pour indiquer la largeur de départ. Si l'entier facultatif n'est pas pris, la largeur de départ est supérieure de 1 à la longueur de la liste. Soit la largeur de départ n
.
Comment faire une tornade
Dans mon exemple, je choisis ma liste pour contenir 1
s et 0
s, bien que vous puissiez choisir deux valeurs constantes distinctes ou une chaîne de deux caractères constants distincts.
La première ligne sera composée de caractères n
non blancs (vous pouvez choisir n'importe quel caractère cohérent; je choisis #
pour mon exemple).
Ensuite, pour chaque numéro de la liste, si le numéro est 0
, supprimez le caractère gauche et créez une nouvelle ligne; si c'est un 1
, supprimez le bon caractère et créez une nouvelle ligne.
Ainsi, la tornade ci-dessus est la sortie de 8, [1, 0, 0, 0, 1, 0, 0]
.
Sortie
La sortie peut être une liste de chaînes, une liste de listes de caractères ou une chaîne multiligne. Les espaces de fin sur chaque ligne sont autorisés et un retour à la fin à la fin est autorisé.
Cas de test
Ces tests incluent la largeur de départ et les listes d'utilisation de 1, 0
.
5, [1,0,0,1]
#####
####
###
##
#
10, [1,0,0,1,0,1,0,0,1]
##########
#########
########
#######
######
#####
####
###
##
#
7, [1,1,1,1,1,1]
#######
######
#####
####
###
##
#
100,
[1,0,0,0,0,1,0,0,0,1,1,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,0,1,1,0,0,1,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,1,0,0,0,0,1]
Règles
- Des échappatoires standard s'appliquent
- Le code le plus court en octets gagne! code-golf
- Le fond n'a pas besoin d'être un espace (j'ai oublié de le préciser plus tôt).
- Votre langue doit uniquement prendre en charge les nombres (largeurs) qu'elle peut gérer, mais si votre interprète a été réécrit avec une taille de nombre plus grande, elle doit théoriquement fonctionner.