Anagrama

Anagrama

Fácil

Introdução

Numa venda de garagem, você encontra uma linda máquina de escrever vintage por um preço de banana! Na empolgação, você corre para casa, coloca uma folha de papel e começa a digitar. Mas o ânimo passa quando você examina o resultado: todas as palavras saem embaralhadas! Por exemplo, ela imprime "stop" em vez de "post" e "least" em vez de "stale". Você tenta de novo, com cuidado, mas agora ela imprime "spot" e "slate". Depois de algumas tentativas, você descobre que há um atraso aleatório antes de cada letra ser impressa, o que bagunça a ordem. Agora você entende por que venderam a máquina por tão pouco dinheiro!

Você percebe que essa peculiaridade permite gerar anagramas, que são palavras formadas ao reorganizar as letras de outra palavra. Feliz com a descoberta, você passa o resto do dia gerando centenas de anagramas.

Instruções

Sua tarefa é, dada uma palavra-alvo e um conjunto de palavras candidatas, encontrar o subconjunto das candidatas que são anagramas da palavra-alvo.

Um anagrama é um rearranjo de letras que forma uma nova palavra: por exemplo, "owns" é um anagrama de "snow". Uma palavra não é anagrama dela mesma: por exemplo, "stop" não é um anagrama de "stop".

A palavra-alvo e as candidatas são palavras formadas por um ou mais caracteres alfabéticos ASCII (A-Z e a-z). Letras minúsculas e maiúsculas são equivalentes: por exemplo, "PoTS" é um anagrama de "sTOp", mas StoP não é um anagrama de sTOp. O conjunto de anagramas é o subconjunto do conjunto de candidatas formado pelas que são anagramas da palavra-alvo (em qualquer ordem). As palavras do conjunto de anagramas devem ter as mesmas maiúsculas e minúsculas que no conjunto de candidatas.

Dada a palavra-alvo "stone" e as candidatas "stone", "tones", "banana", "tons", "notes", "Seton", o conjunto de anagramas é "tones", "notes", "Seton".

Implementação

Você deve retornar os anagramas na mesma ordem em que estão listados nas palavras candidatas.

Editar via GitHub O link abre em uma nova janela ou aba
CFML Exercism

Tudo pronto para começar Anagrama?

Crie sua conta no Exercism para aprender e dominar CFML com 51 exercícios e mentoria humana de verdade, tudo de graça.