Karena ini hari Sabtu (UTC) dan saya lapar, saya ingin sepotong pizza. Saya akan memberi Anda perintah dan saya ingin pizza ascii-art panas yang bagus . Sampai dengan tantangan?
Drive-Thru
Saya akan memesan di mana pun drive-thru Anda berada, apakah itu STDIN, parameter fungsi, argumen baris perintah, tapi saya tidak akan memasukkannya ke dalam variabel untuk Anda. (Ekspresi fungsi JS harus ditetapkan ke variabel.)
Pesanan
Pesanan saya akan terdiri dari 2 bagian. Yang pertama akan menjadi bilangan bulat positif, bukan nol dari 3hingga 6. Ini ukuran pizza saya. Misalnya, 6pizza ukuran tanpa topping akan terlihat seperti:
/=====\
/ \
| |
| |
\ /
\=====/
Ukuran 5:
/====\
/ \
| |
\ /
\====/
Ukuran 4:
/===\
| |
| |
\===/
Ukuran 3
/==\
| |
\==/
Topping
Topping saya akan menjadi serangkaian huruf UPPERCASE. Berikut adalah nilai yang mungkin:
P - Pepperoni S - Sosis N - piNeapple J - Jalapenos B - Paprika C - baCon
Anda harus memasukkannya ke pizza di suatu tempat. Jika saya memesan ukuran 4 dan PSPCJ, maka ini adalah output yang valid:
/===\
|PSPCJ|
| |
\===/
Begitu juga ini:
/===\
|P P J|
| S C |
\===/
Dan ini:
/===\
| |
|PSPCJ|
\===/
Saya tidak benar-benar pilih-pilih di mana topping saya di pizza, selama mereka tidak berada di kerak atau di atas satu sama lain.
Jendela penjemputan
Saya akan pergi ke banyak tempat untuk mengambil pizza saya, termasuk STDOUT, file, nilai pengembalian fungsi, tetapi bukan variabel.
Barang ekstra
- Celah standar dilarang
- Ini ditandai dengan kode-golf sehingga jawaban tersingkat dalam byte menang!
- Jangan khawatir tentang input yang tidak valid (topping> ruang pizza, dll.)
- Lihat jawaban saya (JS ES6) di bawah ini untuk contoh (Saya harap Anda bisa melakukan yang lebih baik)
̶5̶,̶ ̶N̶N̶N̶̶ juga berlaku masukan ̶ (atau harus itu ̶ ̶5̶,̶ ̶N̶̶ bukan) ̶ ̶ Juga, di mana jamur ..?? :( EDIT: Nevermind tentang pertanyaan pertama, saya melihat test case Anda memiliki 2x P.