কম্পিউটার

স্ট্রিং অক্ষর মুছে ফেলার প্রোগ্রাম যা পাইথনে আগে ঘটেছে


ধরুন আমরা একটি স্ট্রিং s আছে. আমাদের সেই অক্ষরগুলিকে মুছে ফেলতে হবে যা ইতিমধ্যে আগে ঘটেছে এবং হ্রাস করা স্ট্রিংটি ফিরিয়ে দিতে হবে। এটি সমাধান করার জন্য, আমরা অক্ষরগুলির সন্নিবেশ ক্রম বজায় রাখার জন্য একটি আদেশকৃত অভিধান ব্যবহার করব। মানটি সেই অক্ষরের ফ্রিকোয়েন্সি হবে, তবে ফ্রিকোয়েন্সি মান এখানে গুরুত্বপূর্ণ নয়। অভিধান তৈরি করার পরে, আমরা কেবল কীগুলি নিতে পারি এবং স্ট্রিং পেতে তাদের সাথে যোগ দিতে পারি।

সুতরাং, ইনপুট যদি s ="cabbbaadac" এর মত হয়, তাহলে আউটপুট হবে "cabd"।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • d :=একটি অভিধান যেখানে কীগুলি তাদের সন্নিবেশ ক্রম অনুসারে সংরক্ষিত হয়
  • প্রতিটি অক্ষরের জন্য c s, do
    • যদি d-এ c উপস্থিত না থাকে, তাহলে
      • 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 = "cabbbaadac"
print(solve(s))

ইনপুট

"cabbbaadac"

আউটপুট

cabd

  1. পাইথন প্রোগ্রাম একটি স্ট্রিং সব অনন্য অক্ষর আছে কিনা তা পরীক্ষা করতে

  2. পাইথনে স্ট্রিং-এ অক্ষরগুলির একটি তালিকা কীভাবে সরিয়ে ফেলা যায়?

  3. পাইথনে স্ট্রিং থেকে অঙ্কগুলি ছাড়া অক্ষরগুলি কীভাবে সরিয়ে ফেলা যায়?

  4. পাইথনের একটি স্ট্রিং থেকে নির্দিষ্ট অক্ষরগুলি কীভাবে সরিয়ে ফেলা যায়?