Dada uma frase de entrada que consiste em uma ou mais palavras [a-z]+
e zero ou mais espaços , imprima um histograma de arte ASCII (gráfico de barras) da distribuição de letras da frase de entrada.
O histograma deve ser disposto horizontalmente, ou seja, com a tecla da letra na parte inferior, em ordem alfabética da esquerda para a direita, com um eixo Y rotulado 1-
e a cada 5 unidades. O eixo Y deve ser o menor múltiplo de cinco que seja pelo menos tão alto quanto a barra mais alta e deve estar alinhado à direita. O eixo X é identificado com as letras de entrada, sem espaços entre eles. Por exemplo, a entrada a bb dd
deve ter rótulo abd
e não ab d
, pulando o c
. As barras em si podem ser feitas de qualquer caractere ASCII consistente - usarei X
aqui em meus exemplos.
test example
5-
X
X X
1-XXXXXXXX
aelmpstx
Uma vez que existem três e
, dois t
e um de almsx
.
Mais exemplos:
the quick brown fox jumped over the lazy dogs
5-
X X
X X
XX X X X XX
1-XXXXXXXXXXXXXXXXXXXXXXXXXX
abcdefghijklmnopqrstuvwxyz
now is the time for all good men to come to the aid of their country
10-
X
X
X X
X X X
5- X X X
X X X X
X XX XXXX X
XXXXX XXXXXXX X
1-XXXXXXXXXXXXXXXXXX
acdefghilmnorstuwy
a bb ccc dddddddddddd
15-
X
X
10- X
X
X
X
X
5- X
X
XX
XXX
1-XXXX
abcd
a bb ccccc
5- X
X
X
XX
1-XXX
abc
E / S e regras
- A entrada pode ser obtida em qualquer formato razoável e por qualquer método conveniente . Isso também significa que você pode inserir entradas em maiúsculas, se isso fizer mais sentido para o seu código.
- Novas linhas à esquerda / à direita ou outro espaço em branco são opcionais, desde que os caracteres sejam alinhados adequadamente.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- A saída pode ser no console, retornada como uma lista de cadeias, retornada como uma única cadeia, etc.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.