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

পাইথনে একই ক্যারেক্টার ধারণকারী সাবস্ট্রিংর মোট সংখ্যা খুঁজে বের করার প্রোগ্রাম


মনে করুন s একটি ছোট হাতের অক্ষরের স্ট্রিং। আমাদের সেই সাবস্ট্রিংগুলোর মোট সংখ্যা খুঁজে বের করতে হবে যেগুলো শুধু এক অক্ষর ধারণ করে।

উদাহরণস্বরূপ, "xxyy" হলে আউটপুট ৬, কারণ সাবস্ট্রিং: [x, x, xx, y, y, yy]।

সমাধানের ধাপসমূহ

  • total := 0
  • previous := খালি স্ট্রিং
  • প্রতিটি ক্যারেক্টার c s-এ,
    • যদি c != previous, তবে
      • previous := c
      • temp := 1
    • অন্যথায়,
      • temp := temp + 1
    • total := total + temp
  • total ফেরত দিন

উদাহরণ

class Solution:
    def solve(self, s):
        total = 0
        previous = ''
        for c in s:
            if c != previous:
                previous = c
                in_a_row = 1
            else:
                in_a_row += 1
            total += in_a_row
        return total

ob = Solution()
print(ob.solve("xxyy"))

ইনপুট

"xxyy"

আউটপুট

6
  1. পাইথনে দِيয়ে गये এজগুলো অন্তর্ভুক্ত করে অনন্য পথের সংখ্যা গণনার প্রোগ্রাম

  2. পাইথনে একটি সংখ্যাকে অন্য সংখ্যায় রূপান্তর করার ন্যূনতম অপারেশন বের করার প্রোগ্রাম

  3. পাইথনে সংখ্যার ডিজিট থেকে ক্যারেক্টার ম্যাপিং করে স্ট্রিং তৈরি করা

  4. পাইথনে স্ট্রিং-এ সব ক্যারেক्टर ইউনিক কিনা চেক করা