Es ist sehr schwer, sich mein Passwort zu merken, deshalb habe ich mir eine Möglichkeit ausgedacht, ein Passwort zu generieren.
So generiere ich mein Passwort aus einem Wort oder einem Satz:
Beginnen Sie von links nach rechts
Ermitteln Sie die Anzahl der einzelnen Buchstaben
Bringe den Buchstaben mit seiner Zählung in eine Reihenfolge
Briefe mit höherer Wiederholung werden am Ende sein
Buchstaben mit der gleichen Wiederholung werden alphabetisch sortiert
Zahlen und Sonderzeichen einschließlich Leerzeichen werden ignoriert (z. B. 9, 4, @, (, * usw. werden ignoriert)
Gruppenbuchstaben ignorieren Groß- und Kleinschreibung. Verwenden Sie in der Ausgabe den Fall des letzten Vorkommens in der Eingabe
- Die Anzahl der Buchstaben kann eine beliebige Zahl sein, z. B. 5H17M345K
- Wenn es sich bei der Eingabe um alle Zahlen oder Sonderzeichen handelt, ist die Ausgabe eine leere Zeichenfolge, z. B. Eingabe "12 $ * 34 ^!" dann "" ausgeben
- wenn die Reihenfolge für dasselbe Vorkommen in alphabetischer Reihenfolge keine Rolle spielt, z. B. 1a1B1c
Beispiel:
Input: Kitkat Tango
(2k / 1i / 3T / 2a / 1n / 1g / 1o)
Output: 1g1i1n1o2a2k3T
Ein anderes Beispiel:
Input: Database Partitions Task
(1D / 5a / 4T / 1b / 3s / 1e / 1P / 1r / 2i / 1o / 1n / 3s / 1k)
Output: 1b1D1e1k1n1o1P1r2i3s4T5a
Hinweis: Die Buchstaben mit 1 Wiederholung sind am Anfang alphabetisch geordnet, danach die Buchstaben mit mehr Wiederholungen
Dies ist Code-Golf , der kürzeste Code gewinnt.
1.
um mindestens einen Testfall hinzuzufügen, der mehr als 9 Vorkommen von einem oder mehreren Buchstaben enthält. 2.
Geben Sie an, dass die Ausgabe eine Zeichenfolge sein muss (obwohl ich dringend davon abraten würde, so streng zu sein; dies fügt der Herausforderung nichts hinzu ), 3.
geben Sie an, dass Eingaben ohne Buchstaben verarbeitet werden müssen, und 4.
klären Sie, ob eine leere Zeichenfolge als Eingabe verarbeitet werden muss.
1
. In Zukunft können Sie auch unsere Sandbox verwenden , um Probleme wie diese auszubügeln, bevor Sie eine Herausforderung veröffentlichen.