ধরুন আমাদের কাছে শব্দের একটি তালিকা আছে। এই শব্দগুলি একাধিকবার ঘটতে পারে। আমাদের এই শব্দগুলির ফ্রিকোয়েন্সি দেখাতে হবে এবং কতগুলি স্বতন্ত্র শব্দ আছে তা গণনা করতে হবে৷
সুতরাং, যদি ইনপুটটি শব্দের মত হয় =["Book", "Sound", "Language", "computer", "Book", "Language"], তাহলে আউটপুট হবে (4, '2 1 2 1') কারণ চারটি স্বতন্ত্র শব্দ আছে, প্রথম এবং তৃতীয় শব্দ দুবার এসেছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- d:=সন্নিবেশ আদেশের উপর ভিত্তি করে আইটেমগুলি সংরক্ষণ করার জন্য একটি OrderedDict
- শব্দে প্রতিটি w এর জন্য, করুন
- যদি w d তে থাকে, তাহলে
- d[w] :=d[w] + 1
- অন্যথায়,
- d[w] :=1
- যদি w d তে থাকে, তাহলে
- d-এ সমস্ত কীগুলির তালিকার আকারের একটি জোড়া এবং d থেকে একটি স্ট্রিং-এ সমস্ত মান যুক্ত করুন তারপরে ফিরে আসুন।
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
from collections import OrderedDict def solve(words): d=OrderedDict() for w in words: if w in d: d[w] += 1 else: d[w] = 1 return len(d.keys()), ' '.join([str(d[k]) for k in d.keys()]) words = ["Book", "Sound", "Language", "Computer", "Book", "Language"] print(solve(words))
ইনপুট
["Book", "Sound", "Language", "Computer", "Book", "Language"]
আউটপুট
(4, '2 1 2 1')