Inspirado por este link que encontrei no Reddit .
Um FuzzyFinder é um recurso de muitos editores de texto. Quando você começa a digitar o caminho de um arquivo S
, o FuzzyFinder entra em ação e mostra todos os arquivos no diretório atual que contém a sequência digitada, classificada pela posição S
no arquivo.
Sua tarefa é implementar um localizador nebuloso. Deve ser um programa ou função que recebe (via stdin, argumento da função ou linha de comando) uma string S
e uma lista de strings L
, formatadas da maneira que desejar, e retorna ou imprime o resultado da execução do finder difuso. A pesquisa deve fazer distinção entre maiúsculas e minúsculas. Os resultados S
em que a mesma posição está em várias seqüências podem ser classificados da maneira que você desejar.
Exemplo:
Input: mig, [imig, mig, migd, do, Mig]
Output:
[mig, migd, imig]
OR
[migd, mig, imig]
Isso é código de golfe, então a solução mais curta vence.