Mis disculpas por la palabrería. Nos divertimos con eso en el trabajo en nuestro golf interno, pero requirió algunos correos electrónicos para aclarar, así que espero haber captado la mayor parte de eso la primera vez.
PROBLEMA
Dada una instantánea de nevada "simulada" (como una cadena, stdin o parámetro para su función / método), informe sobre 4 valores: profundidad mínima, profundidad máxima, profundidad promedio y duración.
Aquí hay un ejemplo formateado para ilustrar la entrada:
* * **
** * ***
** * *
*
--------
El '*' es un copo de nieve y el '-' es el suelo. Imagina todos esos "copos de nieve" cayendo hacia el suelo. Esta es la última "instantánea":
*
*
** * **
********
--------
Necesita informar sobre:
- Profundidad mínima: cuente la "pila" más corta (1, en el ejemplo anterior)
- Profundidad máxima: cuente la "pila" más alta (4, en el ejemplo anterior)
- Profundidad media: recuento promedio de todas las "pilas" (1.9, en el ejemplo anterior, redondeando a décimas)
- Duración - (cada "caída" = 1 segundo) - tiempo desde la primera instantánea hasta la última instantánea (3 segundos, en el ejemplo anterior)
Otro ejemplo de referencia:
*
* *
*
*
--------
Instantánea final:
* * ***
--------
ENTRADA
La "instantánea" inicial tendrá 8 "filas", 8 "columnas" y estará delimitada por tuberías (las tuberías separan las filas). Por ejemplo (excluyendo comillas):
“ | | | | * | * *| * |* |--------”
SALIDA
Los 4 valores delimitados por tuberías en una sola línea: 0 | 1 | .6 | 3 o 0 | 5 | 1 | 1
Respuestas:
Perl, 128 caracteres
fuente
Python, 153 caracteres
fuente
Windows PowerShell, 180
189La entrada viene como
$s
.Historia:
fuente
Un par de otros resultados de nuestro golf interno:
C #, 188 caracteres (fácil de leer)
Ruby, 173 caracteres
fuente
PHP, 139 bytes
para cada columna, cuente no. de copos de nieve y no. de espacios debajo del primer copo de nieve, luego calcular
toma la cadena como argumento desde la línea de comando
Desglose y pasos de golf
agregar
round(...,1)
alrededorarray_sum($n)/8
para redondear (+9)fuente
Mathematica , ~ 115
En esta publicación, tuve que recurrir a la forma de cadena escapada
\n
ya que pegar y copiar pierde espacios. En el Front End puedo ingresarlo así:fuente
JavaScript, 328 bytes
No es particularmente corto, pero es lo que tengo.
De-golf:
fuente