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

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

মনে করুন s একটি স্ট্রিং। যেসব ডুপ্লিকেট ক্যারেক্টার আগে আস चुका সেগুলো সরিয়ে দিতে হবে। ফাইনাল স্ট্রিং 본래 ক্রম ধরে রাখবে।

অর্ডার্ড ডিকশনারি ব্যবহার করে সমাধান করা যায় যাতে ক্যারেক্টারগুলোর ইনসারশন অর্ডার বজায় থাকে। ভ্যালু হবে ফ্রিকোয়েন্সি, তবে এখানে ফ্রিকোয়েন্সি গুরুত্বপূর্ণ নয়। ডিকশনারি বানালে কিজগুলো জোড়া দিয়ে আউটপুট স্ট্রিং পাওয়া যায়।

ইনপুট s = "bbabcaaccdbaabababc" হলে আউটপুট হবে "bacd"।

  • d := একটি ডিকশনারি যেখানে কিজ ইনসারশন অর্ডার অনুযায়ী সংরক্ষিত থাকে
  • s-এ প্রতিটি ক্যারেক্টার c-এর জন্য:
    • যদি c d-এ নেই: d[c] := 0
    • d[c] := d[c] + 1
  • কিজগুলো ক্রমে জোড়া দিয়ে আউটপুট স্ট্রিং বানিয়ে ফেরত দিন।

উদাহরণ

বাস্তবায়ন:

from collections import OrderedDict

def solve(s):
    d = OrderedDict()
    for c in s:
        if c not in d:
            d[c] = 0
        d[c] += 1
    return ''.join(d.keys())

s = "bbabcaaccdbaabababc"
print(solve(s))

ইনপুট

"bbabcaaccdbaabababc"

আউটপুট

"bacd"
  1. পাইথনে বাক্য থেকে ডুপ্লিকেট শব্দ সরিয়ে ফেলার প্রোগ্রাম

  2. পাইথনে দেওয়া স্ট্রিং থেকে সব ডুপ্লিকেট সরিয়ে ফেলার প্রোগ্রাম

  3. পাইথনে স্ট্রিং থেকে শুধু ডিজিট বাদে সব ক্যারেক্টার রিমুভ করা

  4. পাইথনে স্ট্রিং থেকে নির্দিষ্ট ক্যারেক্টার সরিয়ে ফেলা