Ponieważ jest sobota (UTC) i jestem głodny, chciałbym kawałek pizzy. Dam ci zamówienie i chciałbym pyszną, gorącą pizzę ascii-art . Do wyzwania?
Drive-Thru
Złożę moje zamówienie, gdziekolwiek jest twój drive-thru, niezależnie od tego, czy jest to STDIN, parametr funkcji, argument wiersza poleceń, ale nie zamierzam umieszczać go w zmiennej dla ciebie. (Wyrażenia funkcji JS muszą być przypisane do zmiennej).
Kolejność
Moje zamówienie będzie miało 2 części. Pierwsza będzie dodatnią, niezerową liczbą całkowitą od 3do 6. To jest rozmiar mojej pizzy. Na przykład 6pizza wielkości bez dodatków wyglądałaby następująco:
/=====\
/ \
| |
| |
\ /
\=====/
Rozmiar 5:
/====\
/ \
| |
\ /
\====/
Rozmiar 4:
/===\
| |
| |
\===/
Rozmiar 3
/==\
| |
\==/
Polewy
Moje dodatki będą ciągiem wielkich liter. Oto możliwe wartości:
P - Pepperoni S - Kiełbasa N - piNeapple J - Jalapenos B - Papryki bananowe C - baCon
Musisz gdzieś je dopasować do pizzy. Jeśli zamówię rozmiar 4 PSPCJ, a następnie jest to prawidłowy wynik:
/===\
|PSPCJ|
| |
\===/
Tak to wygląda:
/===\
|P P J|
| S C |
\===/
I to:
/===\
| |
|PSPCJ|
\===/
Nie jestem wybredna, jeśli chodzi o to, gdzie moje dodatki są na pizzy, o ile nie są na skórce ani na sobie.
Okno odbioru
Pójdę do wielu miejsc, aby odebrać moją pizzę, w tym STDOUT, plik, wartość zwracaną przez funkcję, ale nie zmienną.
Dodatkowe rzeczy
- Standardowe luki zabronione
- Jest to oznaczone kodem golfowym, więc wygrywa najkrótsza odpowiedź w bajtach!
- Nie martw się o nieprawidłowe dane wejściowe (polewy> miejsce na pizzę itp.)
- Zobacz moją odpowiedź (JS ES6) poniżej jako przykład (mam nadzieję, że możesz to zrobić lepiej)
̶5̶,̶ ̶N̶N̶N̶̶ jest również ważna wejściowych ̶ (lub powinien to być ̶ ̶5̶,̶ ̶N̶̶ zamiast) ̶ ̶ Ponadto, gdzie są grzyby ..? :( EDYCJA: Nieważne o pierwszym pytaniu, widzę, że twoje przypadki testowe mają 2x P.