Треки
/
Crystal
Crystal
/
Вправи
/
Анаграма
Анаграма

Анаграма

Легка

Вступ

На розпродажі в гаражі ми знаходимо чудову старовинну друкарську машинку за вигідною ціною! Збуджені, ми мчимо додому, вставляємо аркуш паперу й починаємо друкувати. Однак наше захоплення згасає, коли ми придивляємося до вихідних даних: усі слова переплутані! Наприклад, вона друкує «stop» замість «post» і «least» замість «stale». Обережно ми пробуємо ще раз, але тепер вона друкує «spot» і «slate». Після кількох експериментів ми виявляємо, що перед друкуванням кожної літери є випадкова затримка, яка плутає порядок. Тепер ми розуміємо, чому її продали так дешево!

Ми усвідомлюємо, що ця особливість дозволяє нам створювати анаграми, тобто слова, утворені перестановкою літер іншого слова. Задоволені своєю знахідкою, ми проводимо решту дня за створенням сотень анаграм.

Вказівки

Маючи цільове слово та одне або кілька слів-кандидатів, наше завдання - знайти серед кандидатів ті, що є анаграмами цільового слова.

Анаграма - це перестановка літер, яка утворює нове слово: наприклад, "owns" є анаграмою "snow". Слово не вважається анаграмою самого себе: наприклад, "stop" не є анаграмою "stop".

Цільове слово та слова-кандидати складаються з однієї або кількох літер ASCII (A-Z і a-z). Малі та великі літери рівнозначні: наприклад, "PoTS" є анаграмою "sTOp", але "StoP" не є анаграмою "sTOp". Слова, які потрібно знайти, вибираються зі слів-кандидатів у тому самому регістрі літер.

Маючи цільове слово "stone" та слова-кандидати "stone", "tones", "banana", "tons", "notes" і "Seton", анаграми, які потрібно знайти, - це "tones", "notes" і "Seton".

Реалізація

У треку Crystal додано необовʼязковий тест, який перевіряє, що можливі літери можуть бути будь-якими символами Unicode, а не лише літерами ASCII. Ці тести недоступні з вебредактора, але типово вмикаються під час локального запуску.

Щоб вимкнути ці тести, додайте під час запуску тестів такий прапорець: --tag "~optional"

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Crystal Exercism

Час розпочати Анаграма?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Crystal, а також 26 концепцій142 вправи та справжнє наставництво від людей, і все це безкоштовно.