সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে সংখ্যার অ্যারে নেয়৷
আমাদের ফাংশন ইনপুট অ্যারের উপর ভিত্তি করে একটি নতুন অ্যারে প্রস্তুত করা উচিত। এবং এই নতুন অ্যারের প্রতিটি সংশ্লিষ্ট উপাদান মূল অ্যারের সংশ্লিষ্ট উপাদানের চেয়ে ছোট উপাদানের গণনা হওয়া উচিত।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [4, 7, 1, 4, 7, 5, 3, 8, 9];
তারপর আউটপুট −
হওয়া উচিতconst output = [2, 4, 0, 1, 2, 1, 0, 0, 0];
আউটপুট ব্যাখ্যা:
কারণ এর ডানদিকে 4 এর থেকে ছোট সংখ্যা হল 2 (1 এবং 3), 7 এর জন্য এর 4 (1, 4, 5, 3) ইত্যাদি।
উদাহরণ
এর জন্য কোড হবে −
const arr = [4, 7, 1, 4, 7, 5, 3, 8, 9]; const countSmaller = (array = [], num) => array.reduce((acc, val) => { if(val < num){ acc++; }; return acc; }, 0); const smallerArray = (arr = []) => { const res = []; for(let i = 0; i < arr.length; i++){ const el = arr[i]; res[i] = countSmaller(arr.slice(i, arr.length), el); }; return res; }; console.log(smallerArray(arr));
আউটপুট
কনসোলে আউটপুট হবে −
[ 2, 4, 0, 1, 2, 1, 0, 0, 0 ]