Menu
Coddy logo textTech

Grupy anagramów

Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 54 z 56.

challenge icon

Wyzwanie

Średni

Dwa słowa są anagramami, jeśli ich posortowane litery są identyczne: listen i silent po posortowaniu dają eilnst.

Wczytaj jeden wiersz danych wejściowych: listę słów rozdzielonych przecinkami (małymi literami, bez spacji wewnątrz słów).

Pogrupuj słowa według ich posortowanej sygnatury liter. Wypisz w następującej kolejności:

  1. Jeden wiersz dla każdej grupy zawierającej dwa lub więcej słów, w formacie <signature>: <word1>,<word2>,.... W obrębie grupy zachowaj kolejność słów z danych wejściowych. Posortuj grupy alfabetycznie według sygnatury.
  2. Total groups: <n> (liczba grup zawierających dwa lub więcej słów).

Dla danych wejściowych listen,silent,abc,enlist,cab,xyz wynikiem jest:

abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2

Spróbuj swoich sił

let words = readLine()!.components(separatedBy: ",")

// TODO: utwórz [signature: [word]]; wypisz posortowane grupy o rozmiarze >= 2;
// następnie wypisz 'Total groups: <n>'

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Edytor online Swift