Однажды программист Вася решил послать своему другу письмо. Он подробно рассказал в нем, как у него дела. И, в конце концов, вышло большое послание. Но почта не позволяет пересылать такие большие письма. После долгих раздумий Вася решил его сжать и для этого придумал оригинальный метод. Если подряд идут несколько одинаковых символов, а точнее три и более, то он их заменяет на их
количество и символ, который повторяется. Но Вася был плохим программистом... Помогите ему сжать письмо.
Входные данные: s
Выходные данные:K
Где: S-письмо не более 255 символов, K-сжатое письмо
Пример ввода: GGHHHHGDDDDHHHKKKKKJJJ
Пример вывода: GG4HG4D3H5K3J
Ответы
Ответ дал:
0
PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018
begin
ReadString.AdjacentGroup.SelectMany(t -> t.Count >= 3 ? (t.Count + t[0]).ToCharArray : t).Println;
end.
Приложения:
Ответ дал:
0
На начинающем уровне
Ответ дал:
0
Начинать-то как раз надо с более мощных конструкций, чтобы не лезть в детали, требующие более глубоких знаний.
Ответ дал:
0
А есть решкние в C++?
Ответ дал:
0
Решение есть в любом языке, но его нужно указывать в вопросе, а не после получения ответа.
Ответ дал:
0
После Вашего комментария во втором ответе "Нужно сделвть программу в Pascal ABC по получению данной величины", вопрос про С++ вообще забавно заучит.
Вас заинтересует
2 года назад
3 года назад
3 года назад
9 лет назад
9 лет назад
10 лет назад