Wprowadzenie
Wyzwania alfabetyczne są w naszym DNA, więc pokażmy to.
Wyzwanie
Wydrukuj dokładnie następujący tekst:
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
Zasady
- Musisz dopasować wielkość liter każdej litery
- Dozwolone są końcowe i / lub wiodące znaki nowej linii i / lub spacje
Zwycięski
Najkrótszy kod w bajtach wygrywa.
code-golf
ascii-art
kolmogorov-complexity
alphabet
Rozpad beta
źródło
źródło
Odpowiedzi:
Vim (bez narzędzi zewnętrznych), 106 bajtów
Nowe linie dla przejrzystości:
Oto
↵
Return,→
ma rację,♥
Escape,ʌ
CTRL-V ið
jest Delete.źródło
Python 2, 230 bajtów
źródło
PowerShell v2 +,
175169163154 bajtówWypróbuj online!
Nadużywa faktu, że domyślnie
Write-Output
pod koniec wykonywania wstawia nową linię między elementami.Pierwszy wiersz tworzy gałęzie. Zapętlamy dwa zakresy odpowiadające wartościom ASCII dla wielkich liter, każda iteracja generuje
char
tablicę tej litery i tej litery+32
(która jest małymi literami ASCII). To jest-join
połączone razem w jeden długi ciąg, a następnie-split
na co sześć elementów (otoczonych parenami, aby zostały zachowane), a następnie następuje-ne''
wyciągnięcie pustych elementów w wyniku podziału, tworząc w ten sposób tablicę ciągów.Te ciągi w tablicy array-get konkatenacji dodać na
WwXx
,Yy
iZ
elementów, a następnie PadRight 10
aby im wszystkim odpowiednią szerokość. W tym momencie mamy tablicę ciągów takich jak poniżej (jeden element na linię).Cała tablica jest przesyłana do innej pętli w celu utworzenia lustrzanych łańcuchów z
-join
odwracaniem tablicy[9..0]
.Zapisujemy powstałe ciągi
$x
w parenach i otaczamy nimi, aby również umieścić kopię w potoku.Następny wiersz umieszcza
zz
ciąg w potoku, a następnie$x
tablicę w odwrotnej kolejności. Wszystkie są pozostawione w potoku, a dane wyjściowe są niejawne.-9 bajtów dzięki mazzy.
źródło
'(.{6})'
zamiast(......)
iRightPad
zamiast spacji.Python 2 , 156 bajtów
Wypróbuj online!
512/(i**4+47)-1
który koduje, ile spacji należy wstawić do każdej linii (
(-1)*' '
równe0*' '
).źródło
Python 2,
331241229 bajtówBędzie grał w golfa później.źródło
Lua, 212 bajtów
Dość proste, oparte na odpowiedzi TimmyD, w pewnym sensie. Tworzy lewe górne ramię przy użyciu naprawdę słabo skompresowanego fragmentu, a następnie wykonuje oba odbicia jednocześnie wokół „zz” i drukuje.
Wypróbuj na Repl.It
źródło
05AB1E ,
4846403836 bajtów-2 bajty (i możliwość 10 dodatkowych dzięki temu alternatywnemu podejściu) dzięki @MagicOctopusUrn .
Wypróbuj online.
Wyjaśnienie:
Zobacz moją wskazówkę 05AB1E (rozdział Jak kompresować duże liczby całkowite? ), Aby zrozumieć, dlaczego
Ž3ô
jest1008
iƵJ
jest120
.źródło
•3ô•8.D120 6 1D)bí.Bí»…abcA¦«Dus.ιv1y.;}0ð:º.∊
"abc"
można grać w golfa o 6 więcej:•3ô•
może byćŽ3ô
;120 6 1D
może byćƵJ6XD
;…abcA¦«Dus.ι
może byćžRAu¦«Dl.ι
. :)í.Bí
naTj
(działa tylko w nowej wersji, ale nie jestem pewien, czy to błąd, czy celowo). W ten sposób domyślnie włączyłeś 10-bajtowe oszczędzanie przy alternatywnym podejściu. : DžRAu¦«Dl.ιS
może być alternatywnieA¬žR:uSDl.ι
, ale niestety nie uratuje bajtów. I0м.B
zamiast0ð:
bajtu jest więcej zamiast mniej… Trochę jakby miał nadzieję, że lustra mogą domyślnie boksować, dodając końcowe spacje, więc.B
nie byłoby to konieczne, ale może lepiej, że nie są w przypadku innych wyzwań.Stax ,
42413835 bajtówUruchom i debuguj
Aktualizacja: Wystąpił błąd w 41-bajtowym rozwiązaniu. (tak, mimo że nie ma danych wejściowych) Podczas naprawy znalazłem jeszcze 3 bajty do golenia.
Zaktualizuj ponownie: trwa rywalizacja, więc usunąłem jeszcze 3 bajty nieprzewidziane.
Wyjaśnienie: (innego, ale jednakowego rozmiaru rozwiązania)
Uruchom ten
źródło
Matryce , 105 bajtów (niekonkurencyjne)
Whoa, znalazłem wiele błędów. Jedyną trudną częścią tego wyzwania był krzyż na środku. To sprawia, że liczy się prawie połowa bajtów.
Uruchom z
-A 1
flagąWyjaśnienie:
Kolejnym błędem, którego jeszcze nie naprawiłem, jest to, że ostatnia część
u{z1cX}
nie działa, gdy umieścisz cięcie poX
. Zbada / naprawi.źródło
/// , 229 bajtów
Wypróbuj online!
źródło
PowerShell , 150 bajtów
Wypróbuj online!
źródło
Brainfuck, 456 bajtów
Wypróbuj online!
źródło
Python 3 , 215 bajtów (niekonkurencyjny)
Wypróbuj online!
Pobiera kilka pomysłów z dwóch rozwiązań Python 2, ale stosuje je w podejściu wykorzystującym join (), które wydaje się oszczędzać sporo bajtów. Możliwe, że można to jeszcze pograć w golfa; Mogę wrócić do tego później.
źródło
Rubinowy ,
177 ...145 bajtówWypróbuj online!
źródło
Bubblegum, 168 bajtów
Wypróbuj online!
Ponieważ jest to moje pierwsze zgłoszenie Bubblegum, może nie być optymalnym rozwiązaniem. Proszę sprawdź dwa razy.
źródło