Учитывая входное предложение, состоящее из одного или нескольких слов [a-z]+
и нуля или нескольких пробелов , выведите гистограмму (гистограмму) в стиле ASCII распределения букв входного предложения.
Гистограмма должна быть расположена горизонтально, то есть с буквенным ключом вдоль основания в алфавитном порядке слева направо, с осью Y, помеченной 1-
и каждые 5 единиц. Ось Y должна быть наименьшим кратным пяти, которая, по крайней мере, такая же высокая, как самая высокая полоса, и должна быть выровнена по правому краю. Ось X помечена входными буквами без пробелов между ними. Например, вход a bb dd
должен иметь метку, abd
а не ab d
пропускать c
. Сами столбцы могут быть сделаны из любого согласованного символа ASCII - я буду использовать X
здесь в своих примерах.
test example
5-
X
X X
1-XXXXXXXX
aelmpstx
Так как есть три e
, два t
и один из almsx
.
Больше примеров:
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
I / O и правила
- Входные данные могут быть приняты в любом разумном формате и любым удобным способом . Это также означает, что вы можете вводить данные в верхнем регистре, если это имеет больше смысла для вашего кода.
- Лидирующие / завершающие символы новой строки или другие пробелы являются необязательными, при условии, что символы выстраиваются соответствующим образом.
- Либо полная программа или функция приемлемы. Если функция, вы можете вернуть вывод, а не распечатать его.
- Вывод может быть на консоль, возвращен в виде списка строк, возвращен в виде одной строки и т. Д.
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).