কম্পিউটার টিউটোরিয়াল

পাইথনে রান-লেঞ্থ ফর্মের স্ট্রিংকে নরমাল ফর্মে ডিকোড করার প্রোগ্রাম


मान लीजिए हमारे पास एक स्ट्रिंग 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

  1. পাইথন প্রোগ্রাম দিয়ে লিস্টকে স্ট্রিংয়ে রূপান্তর

  2. পাইথনে লিস্টকে স্ট্রিংে কনভার্ট করা

  3. পাইথন প্রোগ্রাম: ম্যাট্রিক্স Z আকারে প্রিন্ট করা

  4. পাইথনে ক্যারেক্টারের লিস্টকে স্ট্রিংয়ে রূপান্তর করার প্রোগ্রাম