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

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


मान लीजिए हमारे पास एक स्ट्रिंग s है। हमें रन-लेंथ एन्कोडिंग तकनीक का उपयोग करके इसे एन्कोड करना होगा। जैसा कि हम जानते हैं, रन-लेंथ एन्कोडिंग स्ट्रिंग्स को एन्कोड करने का एक तेज और सरल तरीका है। विचार इस प्रकार है - दोहराए गए क्रमिक तत्वों (वर्णों) को एकल गणना और वर्ण के रूप में।

उदाहरण के लिए, यदि इनपुट है s = "BBBBAAADDCBB", तो आउटपुट होगा "4B3A2D1C2B"

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • res := खाली स्ट्रिंग
  • tmp := s का पहला वर्ण
  • count := 1
  • i के लिए 1 से s के आकार तक की रेंज में, करें
    • यदि s[i], tmp के समान नहीं है, तो
      • res := res के साथ count के साथ tmp को जोड़ें
      • tmp := s[i]
      • count := 1
    • अन्यथा,
      • count := count + 1
  • res के साथ count के साथ tmp को जोड़कर वापस करें

বेहतर বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখুন:

উদাহরণ

class Solution:    def solve(self, s):       res = ""       tmp = s[0]       count = 1       for i in range(1,len(s)):          if s[i] != tmp:             res += str(count) + tmp             tmp = s[i]             count = 1          else:             count += 1       return res + str(count) + tmp ob = Solution() print(ob.solve("BBBBAAADDCBB"))

ইনপুট

"BBBBAAADDCBB"

আউটপুট

4B3A2D1C2B

  1. অ্যারে-এ ইনভারশন কাউন্ট করার পাইথন প্রোগ্রাম

  2. পাইথন প্রোগ্রাম: দেয়া স্ট্রিং-এ শব্দ গণনা (Count Words in a Given String)

  3. পাইথন প্রোগ্রাম: সেট ব্যবহার করে স্ট্রিং-এ স্বরবর্ণ (vowel) গণনা

  4. পাইথনে স্ট্রিংয়ে একটি শব্দের উপস্থিতি গণনা করার প্রোগ্রাম