Don Python [DATA SCIENCE]
71 subscribers
6 photos
1 file
19 links
Путь python разработчика после 30. Знания, обсуждения, книги, rock & roll
Download Telegram
📕 Последовательности символов в строке

Я решаю задачки на сайте DMOJ и одна задача поставила меня в небольшой тупик.
Главная трудность заключалась в написании небольшой функции, которая принимала строку без пробелов, а возвращала бы строку, где каждая непрерывная последовательность одинаковых символов была бы представлена в следующем виде: 3 p, где цифра 3 обозначает сколько символов p было в последовательности. Сейчас будет понятней:

Строка входа

input = 'pppqqq++++'


Строка выхода

output = '3 p 3 q 4 +'


В итоге как с помощью python из строки input получить строку output?

Решение кроется в 14 строках:

def compress_string(string):
compressed = []
count = 1

for i in range(1, len(string)):
if string[i] == string[i - 1]:
count += 1
else:
compressed.append(f"{count}({string[i - 1]})")
count = 1
compressed.append(f"{count}({string[-1]})")
return " ".join(compressed)

print(compress_string('pppqqq++++'))


Good coding 🧑‍💻

#problem #string #algorithm
Please open Telegram to view this post
VIEW IN TELEGRAM
1