Perché è sabato (UTC) e ho fame, vorrei una fetta di pizza. Ti darò un ordine e vorrei una bella pizza calda ascii-art . Fino alla sfida?
Il drive-thru
Inserirò il mio ordine ovunque sia il tuo drive-thru, che si tratti di STDIN, un parametro di funzione, un argomento della riga di comando, ma non lo inserirò in una variabile per te. (Le espressioni della funzione JS devono essere assegnate a una variabile.)
L'ordine
Il mio ordine avrà 2 parti. Il primo sarà un numero intero positivo diverso da zero da 3a 6. Questa è la dimensione della mia pizza. Ad esempio, una 6pizza di dimensioni senza condimenti sarebbe simile a:
/=====\
/ \
| |
| |
\ /
\=====/
Una taglia 5:
/====\
/ \
| |
\ /
\====/
Una taglia 4:
/===\
| |
| |
\===/
Una taglia 3
/==\
| |
\==/
I condimenti
I miei condimenti saranno una stringa di lettere MAIUSCOLE. Ecco i possibili valori:
P - Peperoni S - Salsiccia N - piNeapple J - Jalapenos B - Peperoni di banana C - baCon
Devi inserirli sulla pizza da qualche parte. Se ordino una taglia 4 e PSPCJ, quindi questo è un output valido:
/===\
|PSPCJ|
| |
\===/
Quindi è questo:
/===\
|P P J|
| S C |
\===/
E questo:
/===\
| |
|PSPCJ|
\===/
Non sono davvero esigente su dove siano i miei condimenti sulla pizza, purché non siano sulla crosta o uno sopra l'altro.
La finestra di prelievo
Andrò in molti posti a ritirare la mia pizza, incluso STDOUT, un file, il valore di ritorno di una funzione, ma non una variabile.
Roba extra
- Scappatoie standard vietate
- Questo è contrassegnato come code-golf, quindi vince la risposta più breve in byte!
- Non preoccuparti di input non validi (condimenti> spazio per pizza, ecc.)
- Vedi la mia risposta (JS ES6) di seguito per un esempio (spero che tu possa fare di meglio)
̶5̶,̶ ̶N̶N̶N̶̶ è anche un valido ingresso ̶ (o dovrebbe essere ̶ ̶5̶,̶ ̶N̶̶ invece) ̶ ̶ Inoltre, dove sono i funghi ..?? :( MODIFICA: Non importa la prima domanda, vedo che i tuoi casi di test hanno 2 volte P.