Anagrammgruppen
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 54 von 56.
Aufgabe
MittelZwei Wörter sind Anagramme, wenn ihre sortierten Buchstaben übereinstimmen: listen und silent ergeben beide sortiert eilnst.
Lies eine einzelne Eingabezeile ein: eine durch Kommata getrennte Liste von Wörtern (kleingeschrieben, keine Leerzeichen innerhalb der Wörter).
Gruppiere die Wörter nach ihrer sortierten Buchstaben-Signatur. Gib in dieser Reihenfolge Folgendes aus:
- Eine Zeile pro Gruppe mit zwei oder mehr Wörtern im Format
<signature>: <word1>,<word2>,.... Behalte innerhalb einer Gruppe die Wörter in der Reihenfolge der Eingabe bei. Sortiere die Gruppen alphabetisch nach der Signatur. Total groups: <n>(Anzahl der Gruppen mit zwei oder mehr Wörtern).
Für die Eingabe listen,silent,abc,enlist,cab,xyz lautet die Ausgabe:
abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2Probier es selbst
let words = readLine()!.components(separatedBy: ",")
// TODO: Erstelle [Signatur: [Wort]]; drucke sortierte Gruppen mit Größe >= 2;
// drucke anschließend 'Total groups: <n>'
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – WortstatistikÜbe selbstständig: Swift-Playground