text и пачку правок. Правка номер i описана тремя значениями: позицией positions[i] (нумерация с нуля), ожидаемым фрагментом expected[i] и новым фрагментом replacements[i].
Правка применяется, только если в исходной строке text начиная с позиции positions[i] действительно записан фрагмент expected[i]. Тогда этот фрагмент заменяется на replacements[i]. Если фрагмент не совпал (или не помещается в строку), правка пропускается.
Все правки применяются одновременно: позиции всегда относятся к исходной строке, а не к уже изменённой. Гарантируется, что фрагменты применимых правок не пересекаются.
Верните строку после всех правок.text="sunnyday", positions=[0, 5], expected=["sun", "day"], replacements=["fun", "night"] → 'funnynight'
Обе правки подходят: на позиции 0 стоит «sun», на позиции 5 — «day». Получаем «fun» + «ny» + «night».
text="overflow", positions=[4, 0], expected=["flaw", "ov"], replacements=["x", "und"] → 'underflow'
На позиции 4 стоит «flow», а не «flaw», поэтому первая правка пропускается. Вторая подходит: «ov» меняется на «und».
text="abc", positions=[2], expected=["cd"], replacements=["z"] → 'abc'
text и expected[i] состоят из строчных латинских буквreplacements[i] состоят из латинских букв и цифрtext="sunnyday", positions=[0, 5], expected=["sun", "day"], replacements=["fun", "night"]
'funnynight'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 93 теста на сервере, включая скрытые.