É muito difícil lembrar minha senha, então criei uma maneira de gerar uma senha.
A maneira como eu gero minha senha é de uma palavra ou frase, seguindo estas etapas:
Comece da esquerda para a direita
Encontre a contagem de cada letra
Coloque a letra com sua contagem em um pedido
Cartas com maior repetição serão no final
Letras com a mesma repetição serão ordenadas alfabeticamente
Números e letras especiais serão ignorados, incluindo espaços em branco (por exemplo, 9, 4, @, (, *, etc. são ignorados)
Agrupe letras ignorando maiúsculas e minúsculas. Na saída, use o caso da última ocorrência na entrada
- A contagem da letra pode ser qualquer número, por exemplo, 5H17M345K
- Se a entrada for todos os números ou letras especiais, a saída será uma sequência vazia, por exemplo, Entrada "12 $ * 34 ^!" então imprima ""
- quando a ordem para a mesma ocorrência em ordem alfabética não importa, por exemplo, 1a1B1c
Exemplo:
Input: Kitkat Tango
(2k / 1i / 3T / 2a / 1n / 1g / 1o)
Output: 1g1i1n1o2a2k3T
Outro exemplo:
Input: Database Partitions Task
(1D / 5a / 4T / 1b / 3s / 1e / 1P / 1r / 2i / 1o / 1n / 3s / 1k)
Output: 1b1D1e1k1n1o1P1r2i3s4T5a
Nota: as letras com 1 repetição estão no início ordenadas alfabeticamente e as letras com mais repetições
Este é o código-golfe , o código mais curto vence.
1.
adicionar pelo menos 1 caso de teste que inclua mais de 9 ocorrências de uma ou mais letras, 2.
especifique que a saída deve ser uma sequência (embora eu recomendo fortemente que não seja tão rigoroso; isso não adiciona nada ao desafio ), 3.
especifique que devemos poder manipular entradas que não contenham letras e 4.
esclareça se precisamos manipular uma sequência vazia como entrada.
1
. Além disso, no futuro, considere usar nossa Sandbox para tentar resolver problemas como esses antes de postar um desafio.