मान लीजिए हमारे पास एक स्ट्रिंग s है। s एक रन-लेंथ एन्कोडेड स्ट्रिंग है, हमें इसका डिकोड किया गया संस्करण ढूंढना है। जैसा कि हम जानते हैं, रन-लेंथ एन्कोडिंग स्ट्रिंग्स को एन्कोड करने की एक तेज और सरल विधि है। विचार इस प्रकार है: दोहराए गए क्रमिक तत्वों (वर्णों) को एकल गणना और वर्ण के रूप में। उदाहरण के लिए, यदि स्ट्रिंग "BBBBAAADDCBB" जैसी है तो इसे "4B3A2D1C2B" के रूप में एन्कोड किया जाएगा।
उदाहरण के लिए, यदि इनपुट है s = "4B3A2D1C2B", तो आउटपुट होगा "BBBBAAADDCBB"।
हल करने के चरण
output :=खाली स्ट्रिंग।num :=खाली स्ट्रिंग।sमें प्रत्येक वर्णiके लिए:- यदि
iवर्णमाला है, तो:output := output + i * (num को संख्या के रूप में)num :=खाली स्ट्रिंग।
- अन्यथा,
num := num + i।
- यदि
outputलौटाएं।
उदाहरण
class Solution:
def solve(self, s):
output = ""
num = ""
for i in s:
if i.isalpha():
output += i * int(num)
num = ""
else:
num += i
return output
ob = Solution()
print(ob.solve("4B3A2D1C2B"))
इनपुट
"4B3A2D1C2B"
आउटपुट
BBBBAAADDCBB