No outro dia, estávamos escrevendo frases com minha filha com uma carta de imã de geladeira. Embora pudéssemos fazer algumas ( I love cat
), não tínhamos letras suficientes para as outras ( I love you too
) devido a uma quantidade insuficiente de letras o
(4)
Descobri então que, enquanto um conjunto incluía 3 e
letras, tinha apenas 2 o
. Provavelmente inspirado em http://en.wikipedia.org/wiki/Letter_frequency, isso ainda não reflete a situação real "na geladeira".
Problema
Dado o arquivo de texto em que cada linha contém uma "sentença de amostra" que alguém gostaria de escrever na geladeira, proponha um conjunto de alfabeto com quantidade mínima de letras, mas ainda o suficiente para escrever cada sentença individualmente.
Nota: ignore os casos, todas as letras do ímã são maiúsculas de qualquer maneira.
Entrada
O arquivo contém frases separadas por nova linha:
hello
i love cat
i love dog
i love mommy
mommy loves daddy
Resultado
Forneça uma lista ordenada de letras, onde cada letra aparece apenas quantas vezes é suficiente para escrever qualquer frase:
acdddeghillmmmoostvyy
(obrigado, isaacg!)
Vencedora
Implementação mais curta (código)
ATUALIZADO: Teste
Eu criei um teste extra e tentei com várias respostas aqui:
M
por um W
ou um de lado N
para um Z
? ;-)
I
s.
_\¯
v
na saída;)