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

স্ট্রিং থেকে 'ab' সাবস্ট্রিং মুছে ফেলার পর চূড়ান্ত স্ট্রিং (C++)

এই টিউটোরিয়ালে আমরা একটি নির্দিষ্ট সমস্যা সমাধান করব।

শুধুমাত্র 'a' এবং 'b' অক্ষর պարবেশনকারী একটি স্ট্রিং দেওয়া আছে। আমাদের কাজ হল স্ট্রিং থেকে ab সাবস্ট্রিংটি মুছে ফেলা এবং বাকি স্ট্রিংটি প্রিন্ট করা।

এখানে সমাধানের ধারণা খুবই সহজ। শুধু 'a' এবং 'b' দিয়ে গঠিত যেকোনো স্ট্রিং শেষে হয় শুধু 'a'-র স্ট্রিং হয়ে যাবে অথবা শুধু 'b'-র।

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

  • স্ট্রিংটি আরম্ভ করুন।
  • 'a' এবং 'b'-র জন্য দুটি কাউন্টার ভেরিয়েবল আরম্ভ করুন।
  • দেওয়া স্ট্রিংয়ের ওপর ইটারেট করুন।
    • 'a' এবং 'b'-র সংখ্যা গণনা করুন।
  • 'a' এবং 'b'-র ফ্রিকোয়েন্সি থেকে সর্বোচ্চ মান বের করুন।
  • দুটি ফ্রিকোয়েন্সির পার্থক্য প্রিন্ট করুন।

উদাহরণ

নিচে কোডটি দেওয়া হলো:

#include <bits/stdc++.h>
using namespace std;

string getTheUpdatedString(string str) {
    int n = str.length();
    int a_count = 0, b_count = 0;
    for (int i = 0; i < n; i++) {
        if (str[i] == 'a') {
            a_count++;
        } else {
            b_count++;
        }
    }
    string updated_string = "";
    if (a_count > b_count) {
        for (int i = 0; i < a_count - b_count; i++) {
            updated_string += "a";
        }
    } else {
        for (int i = 0; i < b_count - a_count; i++) {
            updated_string += "b";
        }
    }
    return updated_string;
}

int main() {
    string str = "ababababaaa";
    cout << getTheUpdatedString(str) << endl;
    return 0;
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফলটি পাবেন:

aaa

উপসংহার

টিউটোরিয়ালটি নিয়ে আপনার কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. সি++ প্রোগ্রাম: দিয়ে থাকা স্ট্রিং-এ "1(0+)1" প্যাটার্নের সব.matches খুঁজে বের করা

  2. C++-এ একটি স্ট্রিং সম-স্ট্রিং (sum-string) কিনা তা যাচাই করা

  3. C++-এ একটি স্ট্রিং প্যালিনড্রোমের রোটেশন কিনা তা যাচাই করা

  4. পাইথনে স্ট্যাক অপারেশন সিমুলেট করে ফাইনাল আন্স বের করা