Minhas desculpas pela palavra. Nós nos divertimos com isso no trabalho em nosso golfe interno, mas foram necessários alguns e-mails para esclarecimento, por isso espero ter capturado a maior parte disso na primeira vez.
PROBLEMA
Dado um instantâneo "simulado" de queda de neve (como uma string, stdin ou parâmetro para sua função / método), relate 4 valores: profundidade mínima, profundidade máxima, profundidade média e duração.
Aqui está um exemplo formatado para ilustrar a entrada:
* * **
** * ***
** * *
*
--------
O '*' é um floco de neve e o '-' é o chão. Imagine todos esses "flocos de neve" caindo em direção ao chão. Este é o "instantâneo" final:
*
*
** * **
********
--------
Você precisa informar sobre:
- Profundidade mínima - conte a menor “pilha” (1, no exemplo acima)
- Profundidade máxima - conte a “pilha” mais alta (4, no exemplo acima)
- Profundidade média - contagem média de todas as “pilhas” (1,9, no exemplo acima - arredondando para décimos)
- Duração - (cada “queda” = 1 segundo) - tempo desde o primeiro instantâneo até o último instantâneo (3 segundos, no exemplo acima)
Outro exemplo para referência:
*
* *
*
*
--------
Instantâneo final:
* * ***
--------
ENTRADA
O "instantâneo" inicial terá 8 "linhas", 8 "colunas" e será delimitado por canal (os canais separam as linhas). Por exemplo (excluindo aspas):
“ | | | | * | * *| * |* |--------”
RESULTADO
Os 4 valores delimitados por canal em uma única linha: 0 | 1 | .6 | 3 ou 0 | 5 | 1 | 1
Respostas:
Perl, 128 caracteres
fonte
Python, 153 caracteres
fonte
Windows PowerShell,
180189Entrada entra como
$s
.História:
fonte
Alguns outros idiomas resultam do nosso golfe interno:
C #, 188 caracteres (facilmente legível)
Ruby, 173 caracteres
fonte
PHP, 139 bytes
para cada coluna, conte no. de flocos de neve e não. de espaços abaixo do primeiro floco de neve e, em seguida, calcular
leva a string como argumento a partir da linha de comando
avaria e etapas de golfe
adicione
round(...,1)
ao redorarray_sum($n)/8
para arredondar (+9)fonte
Mathematica , ~ 115
Neste post, tive que recorrer à forma de string com escape,
\n
pois colar e copiar perde espaços. No Front End, posso inseri-lo assim:fonte
JavaScript, 328 bytes
Não é particularmente curto, mas é o que eu tenho.
De-golfe:
fonte