pengantar
Tantangan alfabet ada dalam DNA kita, jadi mari kita tunjukkan.
Tantangan
Cetak teks berikut dengan tepat:
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
Aturan
- Anda harus mencocokkan huruf setiap huruf
- Trailing dan / atau baris baru dan / atau spasi diizinkan
Kemenangan
Kode terpendek dalam byte menang.
code-golf
ascii-art
kolmogorov-complexity
alphabet
Peluruhan Beta
sumber
sumber
Jawaban:
Vim (tanpa alat eksternal), 106 byte
Baris baru untuk kejelasan:
Ini
↵
Return,→
Right,♥
Escape,ʌ
CTRL-V, danð
Delete.sumber
Python 2, 230 byte
sumber
PowerShell v2 +,
175169163154 byteCobalah online!
Menyalahgunakan fakta bahwa default
Write-Output
di akhir eksekusi memasukkan baris baru antar elemen.Baris pertama membangun cabang. Kami mengulangi dua rentang yang sesuai dengan nilai ASCII untuk huruf kapital, setiap iterasi menghasilkan
char
array huruf itu dan huruf itu+32
(yang merupakan titik ASCII huruf kecil). Itu-join
disatukan menjadi satu string panjang, lalu-split
pada setiap enam elemen (dienkapsulasi dalam parens sehingga mereka dipertahankan), diikuti oleh a-ne''
untuk mengeluarkan elemen kosong sebagai hasil dari perpecahan, sehingga membentuk array string.String ini dalam berbagai get array Rangkaian untuk menambahkan pada
WwXx
,Yy
, danZ
unsur-unsur, maka PadRig sebuahht 10
untuk membuat mereka semua lebar yang sesuai. Pada titik ini kita memiliki array string seperti berikut (satu elemen per baris).Seluruh array disalurkan ke loop lain untuk membangun string cermin dengan
-join
dan array-reversing[9..0]
.Kami menyimpan string yang dihasilkan ke dalam
$x
dan melampirkan di parens juga menempatkan salinan di pipa.Baris selanjutnya menempatkan
zz
string pada pipeline, kemudian$x
array dalam urutan terbalik. Semua itu ditinggalkan di jalur pipa dan hasilnya tersirat.-9 byte berkat mazzy.
sumber
'(.{6})'
sebagai gantinya(......)
danRightPad
bukan buntut spasi.Python 2 , 156 byte
Cobalah online!
512/(i**4+47)-1
yang mengkodekan berapa banyak ruang untuk dipertukarkan ke setiap baris (
(-1)*' '
sama dengan0*' '
).sumber
Python 2,
331241229 byteAkan golf lebih nanti.sumber
Lua, 212 Bytes
Cukup sederhana, berdasarkan jawaban TimmyD, semacam. Buat lengan kiri atas menggunakan potongan yang benar-benar tidak dikompresi, lalu lakukan kedua mirror sekaligus di sekitar 'zz', dan cetak.
Cobalah di Repl.It
sumber
05AB1E ,
4846403836 byte-2 byte (dan kesempatan untuk 10 lebih dengan pendekatan alternatif ini) terima kasih kepada @MagicOctopusUrn .
Cobalah online.
Penjelasan:
Lihat tip tambang 05AB1E ini (bagian Bagaimana cara mengompresi bilangan bulat besar? ) Untuk memahami mengapa
Ž3ô
ada1008
atauƵJ
tidak120
.sumber
•3ô•8.D120 6 1D)bí.Bí»…abcA¦«Dus.ιv1y.;}0ð:º.∊
"abc"
itu bisa golf dengan 6 lebih:•3ô•
bisaŽ3ô
;120 6 1D
bisaƵJ6XD
;…abcA¦«Dus.ι
bisažRAu¦«Dl.ι
. :)í.Bí
keTj
(hanya berfungsi di versi baru, tetapi tidak yakin apakah ini bug atau disengaja). Jadi secara implisit Anda mengaktifkan penghematan 10-byte total dengan pendekatan alternatif Anda. : DžRAu¦«Dl.ιS
bisa jugaA¬žR:uSDl.ι
, tapi sayangnya itu tidak akan menghemat byte. Dan0м.B
bukannya0ð:
byte lebih banyak daripada kurang .. Agak berharap cermin mungkin secara implisit kotak dengan menambahkan spasi sehingga.B
tidak perlu, tapi mungkin lebih baik mereka tidak untuk tantangan lain kurasa.Stax ,
42413835 byteJalankan dan debug itu
Pembaruan: Ada bug dalam solusi 41 byte. (ya, meskipun tidak memiliki input) Sambil memperbaikinya, saya menemukan 3 byte lagi untuk dicukur.
Perbarui lagi: Ada kompetisi yang sedang berlangsung, jadi saya menghapus 3 byte kontingensi lagi.
Penjelasan: (dari solusi berbeda, namun berukuran identik)
Jalankan yang ini
sumber
Matricks , 105 byte (tidak bersaing)
Wah, saya menemukan banyak bug. Satu-satunya bagian sulit dari tantangan ini adalah salib di tengah. Itu membuat hampir setengah jumlah byte.
Jalankan dengan
-A 1
benderaPenjelasan:
Bug lain yang belum saya perbaiki adalah bahwa bagian terakhir,
u{z1cX}
tidak berfungsi ketika Anda meletakkan potongan setelahX
. Akan menyelidiki / memperbaiki.sumber
/// , 229 byte
Cobalah online!
sumber
PowerShell , 150 byte
Cobalah online!
sumber
Brainfuck, 456 byte
Cobalah online!
sumber
Python 3 , 215 byte (Tidak Bersaing)
Cobalah online!
Mengambil beberapa ide dari dua solusi Python 2, tetapi menerapkannya pada pendekatan menggunakan join () yang tampaknya menyimpan beberapa byte. Ada kemungkinan bahwa ini bisa di-golf lebih lanjut; Saya mungkin meninjau kembali nanti.
sumber
Ruby ,
177 ...145 byteCobalah online!
sumber
Bubblegum, 168 byte
Cobalah online!
Karena ini adalah pengiriman Bubblegum pertama saya, itu mungkin bukan solusi yang optimal. Harap periksa ulang.
sumber