Menu
Coddy logo textTech

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

Часть раздела Основы путешествия по R на Coddy — урок 77 из 78.

challenge icon

Задание

Легко

Создайте функцию с названием count_pattern, которая принимает два аргумента: text и pattern. Функция должна возвращать количество вхождений шаблона в текст, включая перекрывающиеся вхождения.

Вы получите две строки входных данных:

  1. Строка текста, в которой нужно выполнить поиск
  2. Строка шаблона, которую нужно найти

Вызовите свою функцию с предоставленными входными данными и выведите результат.

Подсказки:

  • Используйте nchar() для получения длины строк
  • Используйте substr(text, start, stop) для извлечения подстрок
  • Пройдите по каждой допустимой начальной позиции и проверьте, совпадает ли подстрока с шаблоном

Например, если входные данные:

ababa
aba

Выходные данные должны быть:

2

Объяснение: Шаблон "aba" появляется в позиции 1 (ababa) и в позиции 3 (ababa), поэтому результат равен 2.

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

mississippi
issi

Выходные данные должны быть:

2

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

# Чтение входных данных
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Создайте функцию с именем count_pattern, которая принимает text и pattern
# и возвращает количество перекрывающихся вхождений pattern в text


# Вызов функции и вывод результата
print(count_pattern(text, pattern))

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