Решение задач Yandex Cup 2023 на Java, часть 2

87fba7c3a0cec15ef1a7f642e40cc47b.png

Поэт пытается освоить жанр традиционной японской лирической поэзии — хокку. Он мечтает писать хокку на японском языке. К его большому сожалению, изучение японского даётся ему слишком тяжело. Поэтому он тренируется писать хокку на английском.

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

У поэта есть для вас правило, на основе которого вам нужно написать функцию. Он приготовил для вас строку s. Строка состоит из строчных и заглавных букв английского алфавита.

Вам предстоит изменить в строке наименьшее количество символов так, чтобы:

  • в s встречалась подстрока Yandex (регистр имеет значение).

  • в s встречалась подстрока Cup (регистр имеет значение).

  • хотя бы для одной пары подстрок Yandex и Cup, первым шло слово Yandex.

Ваша задача: вывести строку после замены символов и помочь поэту создать совершенное хокку на английском языке.

Формат ввода:

Входные данные содержат строку s (9 ≤ |s| ≤ 1 000 000).

Формат вывода:

Выведите строку после замены символов. Результирующая строка должна содержать только строчные и заглавные буквы английского алфавита, при этом количество измененных символов должен быть минимально возможным.

Если подходящих под условие задачи строк несколько, то выведите любую из них.

Пример 1:

Ввод: yandexcup

Вывод: YandexCup

Пример 2:

Ввод: cupyandex

Вывод: YandexCup

Пример 3:

Ввод: YandexYetAnotherCup

Вывод: YandexYetAnotherCup

Пример 4:

Ввод: YanCupdex

Вывод: YandexCup

Пример 5:

Ввод: salkdfjhdskfgpsajdhfgk

Вывод: YandexjhdskCupsajdhfgk

© Habrahabr.ru