Группы анаграмм
Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 54 из 56.
Задание
СреднеДва слова являются анаграммами, если их отсортированные буквы совпадают: listen и silent оба при сортировке дают eilnst.
Прочитайте одну строку ввода: список слов через запятую (в нижнем регистре, без пробелов внутри слов).
Сгруппируйте слова по их сигнатуре (отсортированным буквам). Выведите в следующем порядке:
- По одной строке для каждой группы, содержащей два или более слов, в формате
<signature>: <word1>,<word2>,.... Внутри группы сохраняйте слова в порядке их ввода. Отсортируйте группы по алфавиту по их сигнатуре. 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>'
Все уроки раздела Логика и управление потоком
1Строки в деталях
Подсчет и индексыРегистр и удаление пробеловПоиск в строкахРазделение и объединениеЗамена подстрокИтоги — Проверка имени пользователя4Множества
Создание множествОбъединение и пересечениеРазность и симметрическая разностьПодмножество и надмножествоИтоги — Фильтр тегов7Проект — Трекер привычек
Обзор проектаОтметить выполнение10Проект — Движок викторины
Обзор проектаЗадаем вопросы2Диапазоны и шаги
Закрытые и полуоткрытыеШагМетоды диапазоновДиапазоны в SwitchИтоги: Сетка календаря