नियम क्रमिक समूहों द्वारा स्ट्रिंग संपीड़न

Rust Hard strings

कार्य «नियम क्रमिक समूहों द्वारा स्ट्रिंग संपीड़न»

एक स्ट्रिंग दी गई है, जो छोटे लैटिन अक्षरों से बनी है। स्ट्रिंग को संपीड़ित करने के लिए एक एल्गोरिदम लागू करना आवश्यक है: यदि स्ट्रिंग में समान वर्णों का एक समूह 1 से अधिक लंबाई का पाया जाता है, तो इस समूह को वर्ण और पुनरावृत्तियों की संख्या से बदल दिया जाता है (संख्या बिना अग्रणी शून्य के लिखी जाती है)। यदि समूह में एक ही वर्ण है, तो इसे बिना बदलाव के छोड़ दिया जाता है। परिणामी संपीड़ित स्ट्रिंग को आउटपुट करें। मूल स्ट्रिंग की लंबाई 10^5 से अधिक नहीं है।

इनपुट प्रारूप

इनपुट में एक स्ट्रिंग S दी जाती है, जो छोटे लैटिन अक्षरों (a-z) से बनी होती है। स्ट्रिंग की लंबाई 1 से 10^5 तक होती है।

आउटपुट प्रारूप

एक पंक्ति आउटपुट करें — मूल स्ट्रिंग का संपीड़ित संस्करण।

उदाहरण

उदाहरण 1

इनपुट
abc
आउटपुट
abc

उदाहरण 2

इनपुट
aabbaa
आउटपुट
a2b2a2

उदाहरण 3

इनपुट
97 98 99 97 98 99
आउटपुट
97 98 92 97 98 92
main.rs