Backstory
Tidak terlalu nyata, sshh!
Semuanya dimulai suatu hari ketika seorang rekan kerja membawa roti buatan sendiri untuk ulang tahun bos saya.
Bos saya sangat menyukai roti ini, dan dia menginginkan yang lain. Sayangnya, rekan kerja saya sudah berhenti, jadi bos saya meminta saya memberinya roti lagi.
Masalahnya, saya tidak tahu cara membuat roti. Jadi saya memberi tahu atasan saya bahwa saya bukan koki dan terlihat lebih keras bagi seseorang.
Dia berkata, "Tentu ... tetapi Anda kehilangan pekerjaan Anda jika Anda tidak dapat membuat saya makan roti."
Lalu saya punya ide.
Saya akan menjadikannya ascii-art loaf dengan skilz coding saya! Dia berkata ya, dengan 1 syarat: "Anda harus membuatnya di bawah 351 byte." Sayangnya bagi saya, golf kode terbaik saya membuat saya sampai 375 byte. Uh oh.
Kemudian bos saya menambahkan 2 hal: "Anda harus memberi saya roti dalam seminggu (13/4), dan jika Anda melakukannya Anda mendapatkan gaji yang meningkat. Semakin rendah jumlah byte yang Anda gunakan, semakin baik gaji. Tetapi ingat, jika Anda melebihi 349 Anda kehilangan pekerjaan. "
Jadi saya butuh bantuan Anda dalam bahasa pilihan Anda untuk membantu saya mempertahankan pekerjaan saya!
Aturan
Saya akan melakukan curl ... | sh
pada TinyURL, tetapi bos saya mengatakan kepada saya bahwa saya tidak dapat menggunakan daftar celah . Saya mungkin bisa melanggar aturan, tapi pekerjaan saya dipertaruhkan, jadi itu bukan ide yang baik.
Apa yang dianggap sebagai roti
Program atau fungsi Anda harus mengambil 3 bilangan bulat positif sebagai input. Jika bahasa Anda memiliki daftar atau larik, Anda dapat mengambil daftar atau larik angka-angka itu. Anda juga dapat menganggapnya sebagai argumen untuk suatu fungsi atau program, atau string angka yang dipisahkan spasi untuk STDIN, baris perintah atau argumen fungsi, dll.
Angka pertama adalah lebar roti Anda
Angka kedua adalah ketinggian roti Anda.
Angka ketiga adalah kedalaman roti Anda.
Inilah roti dengan lebar 3
, tinggi 2
, dan kedalaman 1
:
/ --- \ / --- \ | | || | ___ | /
Terlihat aneh? Ini adalah 3x2x2:
/ --- \ / | / --- \ | | | / | ___ | /
Bagaimana dengan 3x3x3:
/ --- \ / | / | / --- \ | | | / | | / | ___ | /
A 4x1x2:
/ ---- \ / | / ---- \ / | ____ | /
Saya harap Anda mengerti! Lihat jawaban JS (ES6) saya di bawah ini untuk contoh.
Catatan:
- Jangan khawatir tentang input yang valid. Semua ukuran akan bilangan bulat positif.
- Anda harus menerima bilangan bulat positif yang dapat didukung oleh bahasa Anda.
- Jika angkanya sangat tinggi, bahasa Anda macet dari StackOverflow, panjang string maksimum, dll.
Jawaban:
Arang ,
353330 byteDisimpan 2 byte berkat hanya @ ASCII
Disimpan 3 byte berkat @Neil dengan mengatur ulang urutan garis yang digambar
Cobalah online!
Ini adalah percobaan pertama saya di Charcoal. Saya dengar bagus dalam ascii-art , jadi saya mencobanya.
Penjelasan (kedaluwarsa)
Sekarang bagian belakang roti sudah selesai. Sekarang tiba wajah depannya.
sumber
↓→
dengan¶
(baris baru), dan\←←←ω
dengan←\←ω
←\←
tetapi←
milik kedua sebelumω
di baris berikutnya.↗δ→/
adalah byte yang lebih pendek daripada↗¹↗δ¶
, tetapi saya juga menyimpan beberapa byte lebih banyak dengan mengatur ulang urutan garis yang diambil: Coba online!C,
270290320328 byteAkhirnya (setelah
duatiga versi yang salah) itu berfungsi dengan benar dengan ukuran besar juga.Cobalah online!
sumber
JS (ES6), 375 byte
Tidak Disatukan:
sumber
Python 2 ,
234216210 byteCobalah online!
Tentu bisa bermain golf lebih banyak tapi ini awal.210 akan lakukan untuk saya untuk saat ini.sumber
PHP, 420 byte
Kedengarannya seperti seseorang dipecat - mungkin mencoba meyakinkan bos Anda bahwa itu jauh lebih keren di backend.
Input terlampir pada string URL:
?a=[width]&b=[height]&c=[depth]
- Anda dapat mencobanya online di host murah saya. Dalam situasi ini, saya sangat suka menggunakan permintaan GET.Tidak dikumpulkan untuk transparansi:
sumber
JavaScript (ES6), 204 byte
Dimana
\n
mewakili karakter baris baru literal.Alih-alih bermain-main dengan karakter yang berulang, ini hanya menciptakan array berukuran yang sesuai dan menghitung karakter yang muncul di setiap sel.
sumber