ছোট্ট একটি গ্রাম যেখানে অনেক মানুষ বসবাস করতো। প্রতিদিন বিকেলে ঐ গ্রামের সকল লোকজন মাঠে এসে তাদের নাম রেজিস্টারে লিখতো। একদিন একজন খেয়াল করে দেখলো, যে কিছু লোকের নাম একাধিকবার লেখা হয়েছে, মানে কিছু লোক আসছে বারবার নাম লেখাচ্ছে। এটা ঠিক নয়!, তাই সে চিন্তা করলো কিভাবে বারবার আসা লোকদের খুঁজে বের করা যায়। তার জন্য তার প্রোগ্রামার বন্ধু মাহার সাহায্য নিলো, যিনি কোডের জাদুকর হিসেবে পরিচিত।
মাহা কীভাবে এই সমস্যার সমাধান করলো:
মাহা এই সমস্যাটিকে একটি জাভাস্ক্রিপ্ট অ্যারের
সঙ্গে তুলনা করলো। সে বললো, ধরো অ্যারেটি হচ্ছে রেজিস্টার এবং প্রতিটি নাম একটি সংখ্যা
হিসেবে লেখা রয়েছে। এখন আমাদের কাজ হলো বারবার লেখা নামগুলো, অর্থাৎ ডুপ্লিকেট নামের
সংখ্যা খুঁজে বের করা।
মাহা প্রথমে একটি ফাংশন তৈরি করলো ‘findDuplicates’।
সেই ফাংশনটি নিচের ধাপগুলো অনুসরণ করে তার আউটপুট দিবে:
ধাপ ১ - একটি ফাঁকা অবজেক্ট তৈরি করলো, যেখানে
প্রতিটি সংখ্যার গুণফল জমা হবে।
ধাপ ২ - অ্যারেটির প্রতিটি সংখ্যার উপর লুপ
চালানোর সময় প্রতিটি সংখ্যা পূর্বে থেকে আছে কিনা তা পরীক্ষা করবে।
ধাপ ৩ - যদি সংখ্যাটি আগে থেকেই অবজেক্টে
থাকে তাহলে সেটি ডুপ্লিকেট, কারণ এর মান আগেও দেখা হয়েছে এবং যদি না থাকে তাহলে সেই
সংখ্যাকে অবজেক্টে যোগ করা হবে এবং তাকে একবার উপস্থিত বলে চিহ্নিত করা হবে।
ধাপ ৪ - ডুপ্লিকেট সংখ্যাগুলোর তালিকা তৈরি
করা হবে এবং সেই তালিকাটি রিটার্ন করা হবে।
সম্পূর্ণ কোড ও ব্যাখ্যা –
function findDuplicates(arr) {
let count = {}; // সংখ্যাগুলোর গুণফল গণনা করার জন্য একটি ফাঁকা অবজেক্ট
let duplicates = []; // ডুপ্লিকেট সংখ্যা জমা করার জন্য একটি অ্যারে
for (let i = 0; i < arr.length; i++) {
if (count[arr[i]]) {
// যদি সংখ্যা আগেই অবজেক্টে থাকে
duplicates.push(arr[i]); // ডুপ্লিকেট হিসেবে জমা করে
} else {
count[arr[i]] = 1; // না থাকলে সেটিকে ১ দিয়ে শুরু করে
}
}
return duplicates;
}
উদাহরণ হিসেবে মাহা একটা নাম্বারের অ্যারে নিল:
let numbers = [1, 2, 3, 4, 2, 3, 5, 6, 1];
পূর্বে লিখা ফাংশনটি কল দেওয়া হলো –
console.log(findDuplicates(numbers));
[2, 3, 1]; // Output
ব্যাখ্যা:
- ২ দুইবার এসেছে, তাই ডুপ্লিকেট।
- ৩ দুইবার এসেছে, তাই ডুপ্লিকেট।
- ১ দুইবার এসেছে, তাই ডুপ্লিকেট।
এভাবেই মাহা গল্পের মাধ্যমে জাভাস্ক্রিপ্ট
দিয়ে ডুপ্লিকেট সংখ্যা খুঁজে বের করার পদ্ধতি শিখিয়ে দিলো! “গল্পে গল্পে প্রোগ্রামিংয়ের সমস্যা সমাধান করুন” আমাদের ওয়েবসাইটটি
বুকমার্ক করে রাখুন! গল্পটি যদি ভালো লাগে এবং বন্ধুরা যাতে মিস না করে, পোষ্টটি শেয়ার
করতে ভুলবেন না। অবশ্যই লাইক ও কমেন্ট করবেন যাতে করে আমরা প্রতিনিয়ত নতুন নতুন সমস্যার
পাশাপাশি সমাধান নিয়ে হাজির হতে পারি এবং আপনাদেরও যদি কোডিং সম্পর্কিত কোনো সমস্যা
থাকে তাহলে কমেন্টবক্সে জানিয়ে দিন সমাধান করার চেষ্টা করবো, ইনশাআল্লাহ্।