Menu
CoddyTech

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

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

challenge icon

Задание

Средне

Напиши функцию find_occurrences выше _ready(). Она:

  1. Принимает две строки: text и pattern
  2. Подсчитывает, сколько раз pattern встречается в text, включая перекрывающиеся вхождения
  3. Возвращает массив из трёх элементов:
    • true, если шаблон найден, и false в противном случае
    • Количество вхождений
    • Массив с позициями, с которых начинается каждое вхождение

Например, если text — это "abababab", а pattern — "aba", функция возвращает [true, 3, [0, 2, 4]], потому что "aba" начинается в позициях 0, 2 и 4.

Если шаблон не найден, верни [false, 0, []].

Данная функция _ready() считывает две строки, вызывает твою функцию и выводит результат. Замени pass телом функции.

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

extends Node

func find_occurrences(text, pattern):
	# Напишите здесь свой код
	pass

func _ready():
	var text := OS.read_string_from_stdin()
	var pattern := OS.read_string_from_stdin()
	# Вызовите функцию и выведите результат
	var result = find_occurrences(text, pattern)
	print(result)

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

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript