দুই বন্ধু রাফি আর সোহান, একদিন বিকালে বাগানে বসে গল্প করছিলো। হঠাৎ সোহান, রাফি কে বলল, কোনো একটি স্ট্রিংয়ের মধ্যে কোন অক্ষরটা সবচেয়ে বেশি ব্যবহৃত হয়েছে সেটা বের করতে পারবি? রাফি একটু ভাবলো এবং বলল, হুম, অবশ্যই! এটা JavaScript এর মাধ্যমে সহজে বের করতে পারবো।
চলো সমস্যাটি নিয়ে আলোচনা করা যাক, মনে কর
স্ট্রিংটা হলো ‘hello world’। আমাদের কাজ হচ্ছে এই স্ট্রিংয়ে কোন অক্ষরটি সবচেয়ে
বেশিসংখ্যক আছে সেটা বের করা। প্রথমে আমি একটা ফাংশন লিখবো, যেটা স্ট্রিং কে ইনপুট
হিসেবে নেবে এবং সর্বাধিক ব্যবহৃত অক্ষরটি রিটার্ন করবে।
কোড এবং কোডের ব্যাখ্যা
function mostFrequentChar(str) {
// ধাপ ১: একটি ফ্রিকোয়েন্সি অবজেক্ট তৈরি করি যেখানে অক্ষর গুলো এবং তাদের কাউন্ট রাখা হবে।
const frequency = {};
// ধাপ ২: স্ট্রিং এর প্রতিটি অক্ষর লুপ করি
for (let char of str) {
// যদি অক্ষরটি অবজেক্টে থাকে, তাহলে কাউন্ট ১ বাড়িয়ে দাও, না থাকলে ১ সেট করো।
if (frequency[char]) {
frequency[char]++;
} else {
frequency[char] = 1;
}
}
// ধাপ ৩: সর্বাধিক ব্যবহৃত অক্ষর এবং তার সংখ্যা খুঁজে বের করা
let maxChar = '';
let maxCount = 0;
// অবজেক্টের প্রতিটি আইটেম চেক করি
for (let char in frequency) {
// যদি কোন অক্ষরের সংখ্যা maxCount এর চেয়ে বেশি হয় তাহলে সেটি আপডেট করা
if (frequency[char] > maxCount) {
maxChar = char;
maxCount = frequency[char];
}
}
// ধাপ ৪: সর্বাধিক ব্যবহৃত অক্ষরটি রিটার্ন করি
return maxChar;
}
// উদাহরণ স্ট্রিং
const exampleStr = "hello world";
console.log(`Most frequent character is: ${mostFrequentChar(exampleStr)}`);
কোডের ব্যাখ্যা
১. প্রথমে frequency নামে একটি খালি অবজেক্ট
লিখা হয়েছে। এখানে প্রতিটি অক্ষর এবং তার সংখ্যা রাখা হবে।
২. for লুপের সাহায্যে স্ট্রিংয়ের প্রতিটি
অক্ষর চেক করা হয়। যদি অক্ষরটি আগেই frequency অবজেক্ট এ থাকে, তাহলে তার কাউন্ট এক
বাড়ানো হয়, আর না থাকলে ১ সেট করা হয়। উদাহরণস্বরূপ, "hello world" কে যদি
স্ট্রিং হিসেবে ধরা হয়, তাহলে frequency অবজেক্ট হবে এমন - {h: 1, e: 1, l: 3, o:
2, w: 1, r: 1, d: 1}
৩. এরপর frequency তে থাকা প্রতিটি অক্ষরের
সংখ্যা চেক করা হয়। যদি কোনো অক্ষরের সংখ্যা maxCount এর চেয়ে বেশি হয়, তাহলে সেটি
maxChar এবং তার সংখ্যা maxCount হিসেবে আপডেট করা হয়।
৪. সব শেষে, সর্বাধিক ব্যবহৃত অক্ষর
maxChar রিটার্ন করা হয়।
ওয়েবসাইটটি বুকমার্ক করে রাখুন!
পোষ্টটি যদি ভালো লাগে এবং বন্ধুরা যাতে মিস না করে, পোষ্টটি শেয়ার করতে ভুলবেন না।
অবশ্যই লাইক ও কমেন্ট করবেন যাতে করে আমরা প্রতিনিয়ত নতুন নতুন সমস্যার পাশাপাশি সমাধান
নিয়ে হাজির হতে পারি এবং আপনাদেরও যদি কোডিং সম্পর্কিত কোনো সমস্যা থাকে তাহলে কমেন্টবক্সে
জানিয়ে দিন সমাধান করার চেষ্টা করবো, ইনশাআল্লাহ্।