সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা শুধুমাত্র আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে, অ্যার, গ্রহণ করে৷
অ্যারেটি মূলত কিছু শিক্ষার্থীর স্কোর করা মার্ক নিয়ে থাকে, মার্কের অ্যারের উপর ভিত্তি করে, আমাদের ফাংশনটি র্যাঙ্কের একটি অ্যারে তৈরি করে ফেরত দেয় যাতে মার্ক অ্যারেতে তাদের নম্বর কতটা উচ্চতার ভিত্তিতে সংশ্লিষ্ট শিক্ষার্থীদের র্যাঙ্ক থাকা উচিত। arr.
উদাহরণস্বরূপ, অ্যারে অ্যারের সর্বোচ্চ প্রবেশের জন্য, আউটপুট অ্যারেতে সংশ্লিষ্ট এন্ট্রি হতে হবে 1, দ্বিতীয় সর্বোচ্চ এবং আরও কিছুর জন্য 2।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −
const arr = [50, 47, 39, 32, 31];
তারপর আউটপুট −
হওয়া উচিতconst output = [1, 2, 3, 4, 5];
আউটপুট ব্যাখ্যা:
অ্যারে অ্যারের চিহ্নগুলি ইতিমধ্যেই হ্রাসকারী ক্রমে স্থাপন করা হয়েছে যার অর্থ সর্বোচ্চ চিহ্নগুলি একেবারে প্রথম সূচকে রয়েছে এবং আরও অনেক কিছু৷
উদাহরণ
এর জন্য কোড হবে −
const arr = [50, 47, 39, 32, 31]; const findRanks = (arr = []) => { const { length } = arr; let sortArray = arr.slice(); sortArray.sort((a,b) => b - a); const result = []; for(let i = 0; i < length; i++){ const j = sortArray.indexOf(arr[i]) result.push(j + 1); } return result; }; console.log(findRanks(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
[ 1, 2, 3, 4, 5 ]