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

C++-এ স্ট্রিং কম্প্রেস (Compress String) প্রোগ্রাম


সমস্যা বিবরণ

একটি স্ট্রিং দেওয়া থাকলে, ক্রমাগত ডুপ্লিকেট ক্যারেক্টারগুলোকে একটিতে কমিয়ে কম্প্রেসড স্ট্রিং বের করুন।

উদাহরণ: "heeeeelllllllloooooo" → "helo"

সমাধানের পদ্ধতি

  1. খালি স্ট্রিং ret।
  2. স্ট্রিং ট্রাভার্স করুন:
    • যদি ret খালি নয় এবং ret.back() == s[i] হয়, তবে স্কিপ করুন।
    • অন্যথায় ret += s[i]।
  3. ret রিটার্ন করুন।

C++ কোড উদাহরণ

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

class Solution {
public:
    string solve(string s) {
        string ret = "";
        for (int i = 0; i < s.size(); i++) {
            if (ret.size() && ret.back() == s[i]) {
                continue;
            }
            ret += s[i];
        }
        return ret;
    }
};

int main() {
    Solution ob;
    cout << ob.solve("heeeeelllllllloooooo");
    return 0;
}

আউটপুট

helo

জটিলতা

  • সময়: O(n)
  • স্থান: O(n) — আউটপুট স্ট্রিং
  1. C++-এ জাম্প গেম V (Jump Game V)

  2. C++-এ String at() মেথড ব্যবহার

  3. C++-এ স্ট্রিং টোকেনাইজেশন: স্ট্রিম এবং getline() ব্যবহার

  4. C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা