Menu
Coddy logo textTech

Группы анаграмм

Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 54 из 56.

challenge icon

Задание

Средне

Два слова являются анаграммами, если их отсортированные буквы совпадают: listen и silent оба при сортировке дают eilnst.

Прочитайте одну строку ввода: список слов через запятую (в нижнем регистре, без пробелов внутри слов).

Сгруппируйте слова по их сигнатуре (отсортированным буквам). Выведите в следующем порядке:

  1. По одной строке для каждой группы, содержащей два или более слов, в формате <signature>: <word1>,<word2>,.... Внутри группы сохраняйте слова в порядке их ввода. Отсортируйте группы по алфавиту по их сигнатуре.
  2. Total groups: <n> (количество групп, содержащих два или более слов).

Для входных данных listen,silent,abc,enlist,cab,xyz вывод будет следующим:

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

Попробуйте сами

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

// TODO: создать [сигнатура: [слово]]; вывести отсортированные группы размером >= 2;
// затем вывести 'Total groups: <n>'

Все уроки раздела Логика и управление потоком