Ein Tornado sieht meiner Meinung nach so aus:
########
#######
######
#####
####
###
##
#
Dieser Tornado beginnt mit der Breite n
und in jeder nächsten Zeile wird je nach Eingabe ein Zeichen von links oder rechts entfernt.
Eingang
Die Eingabe ist eine Liste von zwei beliebigen eindeutigen Werten (eine Zeichenfolge mit zwei eindeutigen Zeichen funktioniert auch) und eine optionale positive Ganzzahl zur Angabe der Startbreite. Wenn die optionale Ganzzahl nicht verwendet wird, ist die Startbreite 1 größer als die Länge der Liste. Die Startbreite sei n
.
Wie man einen Tornado macht
In meinem Beispiel wähle ich meine Liste so aus, dass sie 1
s und 0
s enthält. Sie können jedoch auch zwei unterschiedliche konstante Werte oder eine Zeichenfolge aus zwei unterschiedlichen konstanten Zeichen auswählen.
Die erste Zeile besteht aus n
Nicht-Leerzeichen (Sie können ein beliebiges konsistentes Zeichen auswählen; ich wähle es #
für mein Beispiel aus).
0
Entfernen Sie dann für jede Nummer in der Liste, wenn die Nummer ist , das linke Zeichen und erstellen Sie eine neue Zeile; Wenn dies der Fall ist 1
, entfernen Sie das richtige Zeichen und erstellen Sie eine neue Zeile.
Somit ist der obige Tornado die Ausgabe für 8, [1, 0, 0, 0, 1, 0, 0]
.
Ausgabe
Die Ausgabe kann eine Liste von Zeichenfolgen, eine Liste von Zeichenlisten oder eine mehrzeilige Zeichenfolge sein. Es ist zulässig, in jeder Zeile Leerzeichen nachzustellen und am Ende eine neue Zeile nachzustellen.
Testfälle
Diese Testfälle enthalten die Startbreite und Verwendungslisten von 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]
Regeln
- Es gelten Standardlücken
- Kürzester Code in Bytes gewinnt! Code-Golf
- Hintergrund muss kein Leerzeichen sein (ich habe vergessen, dies vorher anzugeben).
- Ihre Sprache muss nur Zahlen (Breiten) unterstützen, die verarbeitet werden können. Wenn Ihr Dolmetscher jedoch mit einer größeren Zahl umgeschrieben wurde, muss dies theoretisch funktionieren.