pengantar
Pada tanggal 26 Agustus 2017, Floyd Mayweather, Jr. akan menghadapi Conor McGregor dalam pertandingan tinju.
Kedua peserta akan menerima jumlah fenomenal 100 juta dolar!
Sayangnya, kami belum memiliki uang, tetapi kami sudah dapat menyiapkan tas besar yang akan berisi semua uang kertas.
_________________________
| |
|=======================================|
| $ $$$$$ $$$$$ $ $ |
| $ $ $ $ $ $ $$$ $$$ |
| $ $ $ $ $ $ $$$ $ |
| $ $$$$$ $$$$$ $ $ |
|_______________________________________|
Tas ini terdiri dari _
, |
, =
dan $
.
Ini memiliki ukuran lebar 41 karakter (mengabaikan baris baru) dan 6 tingginya (+2 untuk pegangan).
Tantangan
Diberikan tidak ada input, tulis program lengkap untuk mengeluarkan koper 2D (lihat di atas).
Skor
Ini adalah kode-golf , sehingga solusi terpendek (dalam byte) menang.
Jawaban:
Bubblegum, 55 byte
Mungkin bisa melakukan beberapa sihir penghilang tajuk, tapi aku tidak sebagus Dennis!
Cobalah online!
sumber
Jelly ,
9275 byteCobalah online!
Bagaimana?
Langkah 1. Buat daftar baris bagian kanan dari koper kosong, dengan mengabaikan spasi tambahan:
Langkah 2: ubah itu menjadi koper kosong:
Langkah 3: Tunjukkan saya uang!
sumber
JavaScript (ES6),
187184 byteBagaimana?
Output dibangun menggunakan 16 pola unik ini:
Demo
Tampilkan cuplikan kode
sumber
05AB1E , 80 byte
Cobalah online!
Penjelasan
Garis besar dasar tas kerja:
05AB1E , 41 byte
Cobalah online!
Penjelasan sub-penjelasan (bagian satu):
Saya mengubah desain keseluruhan dengan memotong desain menjadi dua, mengganti semua karakter dengan 2-6 dan akhirnya mengubahnya menjadi basis 255 dan merekonstruksi bentuk menggunakan
5
pembatas baris baru.Adalah angka yang dinyatakan dalam basis 255, dan konversi basis 6 dari itu adalah ...
Kemudian, memisahkan itu pada balita, mirroring dan bergabung dengan baris baru membuat kita ...
Penjelasan sub-penjelasan (bagian dua):
Mulai melihat kemana arahnya? Selanjutnya, saya kompres pola bagian dalam sebagai string base-255:
Yang mana:
Konversi ke biner:
Untuk masing-masing karakter tersebut, ganti spasi dengan karakter berikutnya, berulang-ulang:
Akhirnya, ganti karakter dengan apa yang seharusnya.
Untuk kerugian:
Dengan mengompresnya sebagai dua pola terpisah saya menghemat 20 byte lebih dari:
Yang mana:
Dikonversi ke basis-10:
92 byte plus transliterasi, yang akan berjumlah sekitar 105.
sumber
SOGL ,
5857 bytePenjelasan:
Coba Di Sini!
54 byte ( bersaing? )
Perintah yang digunakan di sini adalah
╥
- palendromize, yang hanya bekerja pada string, tetapi juga didokumentasikan untuk array . (saat ini hanya diterapkan pada penerjemah online)Cobalah di Sini!
sumber
PHP, 117 byte
Saya sedih bahwa tidak ada yang lebih pendek dari pendekatan malas - gzip string dan base64-encode:
Kompresi khusus: 188 byte
168 164 159 152151 bytes dengan adaptasi dari ide officialaimm :Garis-garis dapat dilihat sebagai bitmap antara karakter batas (spasi untuk dua yang pertama, pipa setelah itu), dengan spasi sebagai
0
dan karakter lain sebagai1
.Membalikkan baris 3 dan 8 memberi mereka nilai
0
, jadi saya bisa menggeser semua nilai dengan 6 bit.Array berisi bitmap (dikonversi ke basis 34; tetapi hanya 7 nilai - elemen ke-8 dihilangkan, elemen kosong juga akan dievaluasi
0
). Basis 35 juga berfungsi; tetapi base 33 memiliki nilai yang lebih panjang dan base 36 akan membutuhkan satu nilai lagi yang dikutip.String berisi batas,
0
dan1
karakter dalam urutan itu untuk setiap baris (menghilangkan karakter terakhir, karena baris 3 dan 8 tidak memerlukan1
karakter, tanpa bit set).Kompresi khusus oleh Jörg,
159156 byte :sumber
Jelly , 114 byte
Cobalah online!
sumber
Braingolf , 267 byte
Cobalah online!
Sangat golf ...
sumber
/// , 155 byte
Cobalah online!
Saya suka ketika /// bisa bersaing.
Penjelasan:
Ini berfungsi dengan mendefinisikan penggantian umum seperti
$$$$$
, lalu mendefinisikan penggantian meta yang mencakup penggantian asli.Lebih mendalam:
Pertama-tama, satu-satunya fitur /// adalah itu
/pattern/replacement/
sintaks dan kemampuannya untuk menggunakan garis miring terbalik untuk menghindari garis miring terbalik lainnya dan garis miring ke depan. Informasi ini penting dalam penjelasannya.Pola / penggantian pertama dalam kode ini hanya untuk tujuan bermain golf (dan dirinci di sini ). Itu diganti
~
dengan//
, sehingga kode yang dihasilkan terlihat seperti ini:Kemudian sekelompok penggantian dasar dibuat. Beberapa mengandalkan orang lain (meta-replacements), tetapi tabel penggantian terlihat seperti ini (kode dibungkus dengan
`
s):Meta-penggantian di sini adalah hal-hal seperti
/&/%$$/
. Ini membutuhkan penggantian yang sudah ada$$$
dan menggunakannya untuk menentukan pengganti baru$$$$$
.Lalu datanglah penggantian yang sangat besar. Yang pertama menggantikan
9
dengan$ $ $ $ $ $
dan yang kedua menggantikan8
dengan:Perhatikan spasi tambahan.
Kemudian semua penggantian ini digunakan dalam string berikut:
Untuk mendapatkan hasil yang diinginkan.
sumber
Python 2 ,
221 205 197 196193 bytea="6ZBRS533| $"
danb="70JYF0U7|"
Cobalah online!
Penjelasan:
Setiap baris dalam bentuk generik di
pup
manap
karakter batas dan u adalah string dengan dua karakter unik (untuk setiap baris) yang dapat diwakili oleh 1 dan 0. Misalnya, baris 5 adalah:| $ $ $ $ $ $ $$$ $$$ |
Ini memiliki | sebagai karakter batas dan string tengah hanya berisi
dan
$
. String tengah dapat diwakili oleh:111011101101110110111011000111000111111
Sekarang string biner ini dapat diwakili oleh nomor 36-base:
6JNFT2RJ
Kita dapat mewakili semua garis dengan string definitif bersama dengan string 36-base, karakter batas dan karakter yang digunakan dalam string tengah sebagai berikut:
Kita dengan demikian dapat mendekompresi string base-36 (setelah mengekstraksinya dari string definitif) ke string biner, ganti 1 dan 0 oleh karakter (juga diperoleh dari string definitif) yang digunakan dalam string tengah dan lem dengan karakter batas di kedua ujungnya. . Dengan demikian, string yang dibutuhkan diperoleh.
sumber
C,
415402397 byteCobalah online!
sumber
Retina ,
140137129 byte-3 byte terima kasih kepada @Neil
Cobalah online!
sumber
1
huruf s untuk hal lain, tidak bisakah Anda menulis$*<space>
secara langsung?C (gcc) ,
388386302 byteCobalah online!
sumber
05AB1E , 121 byte
Cobalah online!
sumber
JavaScript (ES6),
177166 byteString menyimpan koleksi karakter untuk ditampilkan bersama dengan berapa kali untuk mengulang. Jika karakter tidak diulang, jumlah kali dapat dihilangkan.
Menjalankan string berulang dioptimalkan dengan menyimpan dalam variabel
r
dans
.Potongan:
sumber
Python 2 , 135 byte
Cobalah online!
sumber
Arang , 52 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Cetak separuh kiri koper.
Persiapkan kursor sehingga string yang dikompresi dapat dicetak langsung setelah dipantulkan. (Menempatkan gerakan ke bawah setelah refleksi atau sebelum string terkompresi mengubah maknanya.)
Renungkan untuk menyelesaikan tas kerja.
Cetak jumlahnya sebagai string terkompresi. (Sayangnya ini adalah pendekatan terpendek, karena kalau tidak,
M
byte yang dikonsumsi terlalu banyak.)sumber