Menu
CoddyTech

Поиск закономерностей

Часть раздела Основы путешествия по Swift на Coddy. Урок 85 из 86.

challenge icon

Задание

Легко

Прочитай две строки входных данных: первая строка — текст для поиска, а вторая — искомый шаблон.

Посчитай, сколько раз шаблон встречается в тексте, включая перекрывающиеся вхождения, и выведи это количество.

Требования:

  1. Считай строку текста из первой строки входных данных
  2. Считай строку шаблона из второй строки входных данных
  3. Пройдись по тексту и проверь наличие шаблона в каждой позиции
  4. Посчитай все вхождения, включая перекрывающиеся совпадения
  5. Выведи общее количество в виде одного целого числа

Подсказка: Чтобы извлечь подстроку, начиная с индекса i и имеющую заданную длину, можно использовать срез строки с индексами. Преобразуй строку в массив символов или используй манипуляции с индексами строк в Swift, чтобы проверить, совпадает ли шаблон в каждой позиции.

Пример:

Если входные данные:

ababa
aba

Ожидаемый вывод:

2

Шаблон "aba" встречается в индексах 0 и 2 в "ababa".

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

// Считайте входные данные
let text = readLine()!
let pattern = readLine()!

// TODO: Напишите свой код ниже
// Подсчитайте, сколько раз pattern встречается в text (включая пересекающиеся вхождения)


// Выведите результат
print(count)

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift