Завдання
Напишіть програму або функцію, яка з трьох рядків A, B, Cстворює вихідний рядок, де кожен екземпляр Bв Aрекурсивно заміщений C. Рекурсивно заміщення означає повторення заміни, коли на кожному кроці всі неперекриваються екземпляри Bв A(вибрані жадібно зліва направо) замінюються на, Cпоки Bбільше не містяться в A.
Введення-виведення
- Ви можете використовувати будь-який із методів за замовчуванням для вводу / виводу .
- Рядки містять лише друковані символи ASCII (і можуть містити будь-який з них).
Bніколи не буде порожнім рядком, хочаAіCможе бути.- Рядки слід вважати простим текстом, ви не можете, наприклад, трактувати
Bяк шаблон Regex. - Деякі комбінації входів ніколи не припиняться. У цих випадках ваша програма може робити все, що завгодно.
Тестові справи
Вони у форматі: A/B/C\nOutput
Hello, world!/world!/PPCG
Hello, PPCG
Uppercase is up/up/down
Uppercase is down
ababababa/aba/ccc
cccbcccba
delete/e/{empty string}
dlt
{empty string}/no/effect
{empty string}
llllrrrr/lr/rl
rrrrllll
+-+-+-+/+-+/+
+
ababababa/aba/bada
badabbadbada
abaaba/aba/ab
abb
((())())())/()/{empty string}
)
Приклади, які не припиняються:
grow/ow/oow
loop/lo/lo
downpercase is down
((())())())/()/