Dada una entrada de una lista de enteros que representan fechas, genera una línea de tiempo de arte ASCII como la siguiente:
<----------------------------->
A B C D E
La línea de tiempo anterior es la salida para la entrada [1990, 1996, 1999, 2011, 2016]
. Tenga en cuenta varias cosas sobre la línea de tiempo:
La primera línea de salida es un signo menor que (
<
), un número de guiones igual adateOfLastEvent - dateOfFirstEvent + 3
(porque se debe agregar uno para incluir la última fecha, y luego dos más para el relleno), y luego un signo mayor que (>
).En la segunda línea de salida, cada evento se coloca en posición
dateOfEvent - dateOfFirstEvent + 2
(suponiendo indexación cero). Por lo tanto, el primer evento se coloca en la posición2
, dos caracteres a la derecha de la<
, y el último evento es similarmente dos caracteres a la izquierda de la>
.Cada evento está representado por una letra. El evento 1 es
A
, el evento 2 esB
, etc. Nunca habrá más de 26 eventos. Puede usar letras minúsculas si lo desea.No hay espacios en blanco al final. El único espacio en blanco adicional permitido es una nueva línea al final del programa.
Además,
Los eventos no se dan necesariamente en orden. Sin embargo, las fechas todavía se etiquetan según su posición en la matriz. Por ejemplo, una entrada de
[2, 3, 1, 5, 4]
must output<-------> CABED
Se le puede dar uno o más eventos como entrada. Por ejemplo, una entrada de
[12345]
must output<---> A
Puede suponer que la entrada nunca contendrá fechas duplicadas.
La entrada puede darse como una matriz / lista de enteros / cadenas o como una sola cadena separada por cualquier carácter no numérico. El rango permitido de fechas que se proporcionará como entrada es1 ≤ x ≤ 32767
.
Ya que esto es code-golf , ganará el código más corto en bytes.
Casos de prueba:
32767 32715 32716 32750 32730 32729 32722 32766 32740 32762
<------------------------------------------------------->
BC G FE I D J HA
2015 2014
<---->
BA
1990 1996 1999 2011 2016
<----------------------------->
A B C D E
2 3 1 5 4
<------->
CABED
12345
<--->
A
import sys
en tu versión de golf.Groovy,
10699 caracteresEjecución de muestra:
fuente