Einführung
Alphabet-Herausforderungen liegen in unserer DNA, also lasst es uns zeigen.
Herausforderung
Drucken Sie den folgenden Text genau aus:
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
zz
ZZ
Yy yY
WwXx xXwW
TtUuVv vVuUtT
QqRrSs sSrRqQ
NnOoPp pPoOnN
KkLlMm mMlLkK
HhIiJj jJiIhH
EeFfGg gGfFeE
BbCcDd dDcCbB
AaBbCc cCbBaA
Regeln
- Sie müssen den Fall jedes Buchstabens abgleichen
- Nachfolgende und / oder führende Zeilenumbrüche und / oder Leerzeichen sind zulässig
Gewinnen
Der kürzeste Code in Bytes gewinnt.
code-golf
ascii-art
kolmogorov-complexity
alphabet
Beta-Zerfall
quelle
quelle
Antworten:
Vim (keine externen Tools), 106 Bytes
Newlines für Klarheit:
Hier
↵
ist Return,→
ist Right,♥
ist Escape,ʌ
ist STRG-V undð
ist Delete.quelle
Python 2, 230 Bytes
quelle
PowerShell v2 +,
175169163154 ByteProbieren Sie es online aus!
Missbraucht die Tatsache, dass die Standardeinstellung
Write-Output
am Ende der Ausführung eine neue Zeile zwischen den Elementen einfügt.Die erste Zeile erstellt die Zweige. Wir durchlaufen zwei Bereiche, die den ASCII-Werten für die Großbuchstaben entsprechen. Jede Iteration gibt ein
char
Array dieses Buchstabens und dieses Buchstabens aus+32
(dies ist der ASCII-Punkt in Kleinbuchstaben). Das wird-join
zu einer langen Zeichenfolge zusammengefasst, dann-split
zu jeweils sechs Elementen (in Parens eingekapselt, damit sie erhalten bleiben), gefolgt von a-ne''
, um die leeren Elemente als Ergebnis der Aufteilung herauszuziehen und so eine Reihe von Zeichenfolgen zu bilden.Diese Strings in einem Array get Array-Verkettung hinzuzufügen auf den
WwXx
,Yy
undZ
Elemente, dann eine PadRight 10
sie alle die entsprechende Breite zu machen. Zu diesem Zeitpunkt haben wir ein Array von Zeichenfolgen wie die folgenden (ein Element pro Zeile).Das gesamte Array wird an eine andere Schleife weitergeleitet, um die gespiegelten Zeichenfolgen mit
-join
und Array-Umkehrung zu erstellen[9..0]
.Wir speichern die resultierenden Zeichenfolgen in
$x
und schließen sie in Parens ein, um auch eine Kopie in der Pipeline zu platzieren.In der nächsten Zeile wird die
zz
Zeichenfolge in der Pipeline und dann das$x
Array in umgekehrter Reihenfolge platziert. All dies verbleibt in der Pipeline und die Ausgabe ist implizit.-9 Bytes dank mazzy.
quelle
'(.{6})'
stattdessen(......)
undRightPad
stattdessen Leerzeichen.Python 2 , 156 Bytes
Probieren Sie es online aus!
512/(i**4+47)-1
Hiermit wird codiert, wie viele Leerzeichen jeder Zeile vorangestellt werden sollen (
(-1)*' '
gleich0*' '
).quelle
Python 2,
331241229 BytesWerde später mehr Golf spielen.quelle
Lua, 212 Bytes
Einfach genug, basierend auf TimmyDs Antwort. Baut den oberen linken Arm mit einem wirklich schlecht komprimierten Block auf, macht dann beide Spiegel gleichzeitig um ein 'zz' und druckt.
Versuchen Sie es auf Repl.It.
quelle
05AB1E ,
4846403836 Bytes-2 Bytes (und die Möglichkeit für 10 weitere mit diesem alternativen Ansatz) dank @MagicOctopusUrn .
Probieren Sie es online aus.
Erläuterung:
Sehen Sie diese 05AB1E Spitze Mine (Abschnitt Wie große natürliche Zahlen zu komprimieren? ) Zu verstehen , warum
Ž3ô
ist1008
undƵJ
ist120
.quelle
•3ô•8.D120 6 1D)bí.Bí»…abcA¦«Dus.ιv1y.;}0ð:º.∊
"abc"
kann es um 6 weitere Golf gespielt werden:•3ô•
kann seinŽ3ô
;120 6 1D
kann seinƵJ6XD
;…abcA¦«Dus.ι
kann seinžRAu¦«Dl.ι
. :)í.Bí
aufTj
(funktioniert nur in der neuen Version, aber nicht sicher, ob es ein Fehler oder beabsichtigt ist). Sie haben also implizit mit Ihrem alternativen Ansatz eine Gesamtsparung von 10 Byte aktiviert. : DžRAu¦«Dl.ιS
könnte alternativ seinA¬žR:uSDl.ι
, aber das spart leider keine Bytes. Und0м.B
statt0ð:
ist ein Byte mehr statt weniger. Ich hoffte irgendwie, dass die Spiegel implizit durch Hinzufügen von Leerzeichen eingefügt werden könnten, damit.B
dies nicht notwendig wäre, aber vielleicht ist es besser, dass sie es nicht für andere Herausforderungen tun, denke ich.Stax ,
42413835 BytesFühren Sie es aus und debuggen Sie es
Update: Es gab einen Fehler in der 41-Byte-Lösung. (Ja, obwohl es keine Eingabe hat) Während ich es reparierte, fand ich 3 weitere Bytes zum Rasieren.
Erneutes Update: Es ist Wettbewerb im Gange, also habe ich 3 weitere Kontingenzbytes entfernt.
Erläuterung: (einer anderen, aber gleich großen Lösung)
Führen Sie diesen aus
quelle
Matricks , 105 Bytes (nicht konkurrierend )
Ich habe viele Fehler gefunden. Der einzige schwierige Teil dieser Herausforderung war das Kreuz in der Mitte. Das macht fast die Hälfte der Bytes.
Lauf mit der
-A 1
FlaggeErläuterung:
Ein weiterer Fehler, den ich noch nicht behoben habe, ist, dass der letzte Teil
u{z1cX}
nicht funktioniert, wenn Sie den Schnitt nach dem setzenX
. Wird untersuchen / beheben.quelle
/// , 229 Bytes
Probieren Sie es online aus!
quelle
PowerShell , 150 Byte
Probieren Sie es online aus!
quelle
Brainfuck, 456 Bytes
Probieren Sie es online aus!
quelle
Python 3 , 215 Bytes (nicht konkurrierend)
Probieren Sie es online aus!
Übernimmt einige Ideen aus den beiden Python 2-Lösungen, wendet sie jedoch auf einen Ansatz mit join () an, der einige Bytes zu sparen scheint. Es ist möglich, dass dies weiter gespielt werden kann; Ich könnte das später noch einmal wiederholen.
quelle
Ruby ,
177 ...145 BytesProbieren Sie es online aus!
quelle
Bubblegum, 168 Bytes
Probieren Sie es online aus!
Da dies meine erste Bubblegum-Einreichung ist, ist sie möglicherweise nicht die optimale Lösung. Bitte nochmal nachprüfen.
quelle