Dada a entrada de uma lista de números inteiros representando datas, produza uma linha do tempo da arte ASCII como a seguinte:
<----------------------------->
A B C D E
A linha do tempo acima é a saída para entrada [1990, 1996, 1999, 2011, 2016]
. Observe várias coisas sobre a linha do tempo:
A primeira linha de saída é um sinal menor que (
<
), um número de traços igual adateOfLastEvent - dateOfFirstEvent + 3
(porque um deve ser adicionado para incluir a última data e depois mais dois para preenchimento) e, em seguida, um sinal maior que (>
).Na segunda linha de saída, cada evento é colocado na posição
dateOfEvent - dateOfFirstEvent + 2
(assumindo a indexação zero). Portanto, o primeiro evento é colocado na posição2
, dois caracteres à direita do<
e o último evento é da mesma forma dois caracteres à esquerda do>
.Cada evento é representado por uma letra. O evento 1 é
A
, o evento 2 éB
etc. Nunca haverá mais de 26 eventos. Você pode usar letras minúsculas, se desejar.Não há espaço em branco à direita. O único espaço em branco extra permitido é uma nova linha no final do programa.
Além disso,
Os eventos não são necessariamente apresentados em ordem. As datas ainda são rotuladas de acordo com sua posição na matriz. Por exemplo, uma entrada de
[2, 3, 1, 5, 4]
must output<-------> CABED
Você pode receber um ou mais eventos como entrada. Por exemplo, uma entrada de
[12345]
must output<---> A
Você pode assumir que a entrada nunca conterá datas duplicadas.
A entrada pode ser fornecida como uma matriz / lista de números inteiros / cadeias ou como uma única cadeia separada por qualquer caractere não numérico. O intervalo permitido de datas que serão fornecidas como entrada 1 ≤ x ≤ 32767
.
Como esse é o código-golfe , o código mais curto em bytes será vencedor.
Casos de teste:
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
na sua versão de golfe.Groovy,
10699 caracteresExemplo de execução:
fonte