কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ন্যূনতম সিক্কা দিয়ে টার্গেট পরিমাণ তৈরি করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে একটি অ্যারে (arr) নেবে যা সিক্কার ডিনোমিনেশন নির্দেশ করে। دوم আর্গুমেন্ট হবে একটি সংখ্যা (amount) যা টার্গেট পরিমাণ। ফাংশনটি সেই টার্গেট পরিমাণ তৈরি করতে ন্যূনতম কতগুলো সিক্কা লাগবে তা রিটার্ন করবে। যদি কোনো উপায়ে পরিমাণটি তৈরি করা যায় না, তবে -১ রিটার্ন করবে।

উদাহরণস্বরূপ, ইনপুট যদি হয় –

const arr = [1, 2, 5]; const amount = 17;

তবে আউটপুট হবে –

const output = 4;

আউটপুট ব্যাখ্যা:

কারণ ১৭ = ৫×৩ + ২×১, মোট ৪টি সিক্কা।

উদাহরণ

কোডটি নিচের মতো –

const arr = [1, 2, 5]; const amount = 17; const minCoins = (arr = [], amount = 1) => { const changes = []; changes[0] = 0; while(changes.length <= amount){ let change = Math.pow(2, 31) - 1; for (let i = 0; i < arr.length; i++) { if (changes.length - arr[i] < 0){ continue; }; change = Math.min(change, 1 + changes[changes.length - arr[i]]); }; changes.push(change); }; return changes[amount] == Math.pow(2, 31) - 1 ? -1 : changes[amount]; }; console.log(minCoins(arr, amount));

আউটপুট

কনসোলে আউটপুট হবে –

4
  1. জাভাস্ক্রিপ্ট unescape() উদাহরণসহ

  2. জাভাস্ক্রিপ্ট call() মেথড আর্গুমেন্টসহ ব্যাখ্যা

  3. জাভাস্ক্রিপ্টে ইনহেরিট্যান্স উদাহরণসহ

  4. জাভাস্ক্রিপ্টে চেকবক্স চেক করা