Como é sábado (UTC) e estou com fome, gostaria de uma fatia de pizza. Vou fazer um pedido e eu gostaria de uma boa pizza quente de arte ascii . Até o desafio?
O drive-thru
Farei meu pedido onde quer que esteja o drive-thru, seja STDIN, um parâmetro de função, um argumento de linha de comando, mas não vou colocá-lo em uma variável para você. (As expressões de função JS devem ser atribuídas a uma variável.)
A ordem
Meu pedido terá 2 partes. O primeiro será um número inteiro positivo diferente de zero de 3
a 6
. Este é o tamanho da minha pizza. Por exemplo, uma 6
pizza de tamanho sem coberturas se pareceria com:
/=====\
/ \
| |
| |
\ /
\=====/
Um tamanho 5
:
/====\
/ \
| |
\ /
\====/
Um tamanho 4
:
/===\
| |
| |
\===/
Um tamanho 3
/==\
| |
\==/
As coberturas
Minhas coberturas serão uma sequência de letras MAIÚSCULAS. Aqui estão os valores possíveis:
P - Calabresa S - Linguiça N - piNeapple J - Jalapenos B - Pimentos de banana C - baCon
Você deve colocá-los na pizza em algum lugar. Se eu pedir um tamanho 4 e PSPCJ
, então esta é uma saída válida:
/===\
|PSPCJ|
| |
\===/
Então é isso:
/===\
|P P J|
| S C |
\===/
E isto:
/===\
| |
|PSPCJ|
\===/
Não sou muito exigente sobre onde estão minhas coberturas na pizza, desde que não estejam na crosta ou uma sobre a outra.
A janela de recolhimento
Irei a muitos lugares para buscar minha pizza, incluindo STDOUT, um arquivo, o valor de retorno de uma função, mas não uma variável.
Coisas extras
- Lacunas padrão proibidas
- Isso está marcado como code-golf, para que a resposta mais curta em bytes seja vencida!
- Não se preocupe com entradas inválidas (coberturas> espaço para pizza, etc.)
- Veja minha resposta (JS ES6) abaixo para um exemplo (espero que você possa fazer melhor)
̶5̶,̶ ̶N̶N̶N̶
̶ é também um válido entrada ̶ (ou deveria ser ̶ ̶5̶,̶ ̶N̶
̶ Em vez) ̶ ̶ Além disso, onde estão os cogumelos ..? :( EDIT: o Nevermind sobre a primeira pergunta, eu vejo seus casos de teste tem 2x P
.