Jimmy teve uma semana movimentada com todas essas plataformas e cordas , e o pobre Jimmy nem sequer tem pernas ou pés para se apoiar!
Seu trabalho é pegar uma corda contendo vários Jimmys e dar-lhes pernas e sapatos!
Obter entrada na forma de uma Jimmy String
Jimmy String => /o\ /o\ /o\
contendo apenas /o\
e
dê a cada Jimmy na entrada um par de pés assim:
/o\
_/ \_
Transforme a corda Jimmy de cabeça flutuante inserida em Jimmy com pés, da seguinte maneira:
// Input
/o\ /o\ /o\
// Output
/o\ /o\ /o\
_/ \_ _/ \_ _/ \_
Se 2 Jimmys estiverem próximos, eles devem se mover para abrir espaço, Jimmys sempre se moverá para a direita para abrir espaço para outros Jimmys.
// Input
/o\/o\
// Output
/o\ /o\
_/ \__/ \_
Outros Jimmys que estão mais distantes não devem ser movidos, a menos que necessário
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \_ _/ \_
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \__/ \_
Aplicam-se regras e brechas padrão,
Isso é código-golfe, então a resposta mais curta pode ganhar.
/o\<sp>/o\<sp><sp><sp><sp><sp><sp><sp><sp>/o\/o\
minha implementação atual falha porque move os dois últimos Jimmies para a esquerda em vez de para a direita. Todos os seus casos de teste são bem-sucedidos.Respostas:
Python 2 ,
131120115114121118 bytesExperimente online!
4 bytes thx para movatica ; 10 bytes perdidos para correção de bug.
fonte
o+=2-len(g)
economiza um byteRuby
-p
,7775 bytesA regra "não mexa Jimmy se não for necessário" foi uma provação para contornar, mas acho que funcionou muito bem. Mais curto que o Python, bastante (no momento da escrita), pelo menos.
-2 bytes de recursivo.
Experimente online!
fonte
\S+
no lugar de\/\S*
?PowerShell , 96 bytes
Experimente online!
Desenrolado:
fonte
Python 2 ,
152148140 bytesExperimente online!
fonte
Carvão , 28 bytes
Experimente online! Link é a versão detalhada do código. Explicação:
Imprima um espaço para derrotar a margem esquerda automática do Charcoal.
Passe por todos os braços esquerdos.
Salte para o local desejado do pé esquerdo. Observe que o carvão não tem nenhum problema em desenhar
(-1, 1)
, mas a pergunta não permite isso; portanto, temos que tomar cuidado para evitar desenhar em posições negativas.Mova além de qualquer saída existente.
Saída os pés e, em seguida, mova para saída do Jimmy.
fonte
Retina ,
40.37 bytesExperimente online!
Agradecimentos ao Value Ink por jogar fora 3 bytes.
fonte
(\\ ?|^)(/\S*) ?
é mais curto do que o de sua primeira linha e deve dar os mesmos resultados (provavelmente, eu não sei Retina em tudo)Stax ,
29282425 bytesExecute e depure
Houve um erro na solução de 24 bytes que causou alguns erros off-by-1 em alguns casos.
fonte
JavaScript (ES6), 107 bytes
Experimente online!
fonte