সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে নেয়।
আসুন আমরা নিম্নলিখিত পরিস্থিতি বিবেচনা করি:
একজন দোকানদার একটি পণ্য বিক্রি করে যার দাম ঠিক ₹5। কিছু গ্রাহক একটি সারিতে দাঁড়িয়ে আছে এবং প্রতিটি এই পণ্যের ঠিক একটি ইউনিট কিনবে। গ্রাহকরা দোকানদারকে ₹5, ₹10 বা ₹20 এর নোট দিতে পারেন। বিবেচনা করে যে দোকানদারের কাছে শুরুতে কোন টাকা নেই এবং অ্যারেটি সারিতে দাঁড়িয়ে থাকা গ্রাহকদের দেওয়া নোটগুলিকে উপস্থাপন করে৷
আমাদের ফাংশন নির্ধারণ করা উচিত যে দোকানদার সমস্ত গ্রাহকদের সঠিক পরিবর্তনগুলি সরবরাহ করতে পারে কিনা।
উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয়
ইনপুট
const arr = [5, 5, 10, 10, 20];
আউটপুট
const output = false;
আউটপুট ব্যাখ্যা
কারণ দুটি 5টি নোট দুটি 10টি নোটের পরিবর্তনের জন্য ব্যবহার করা হবে এবং তার পরে 20টি নোটের পরিবর্তনগুলি তৈরি করা যাবে না৷
নিম্নলিখিত কোড:
উদাহরণ
const arr = [5, 5, 10, 10, 20]; const provideChanges = (arr = []) => { let fives = 0 let tens = 0 for(let i = 0; i < arr.length; i++) { switch(arr[i]) { case 5: fives += 1 break case 10: if(fives <= 0) { return false } fives -= 1 tens += 1 break default: if(tens >= 1 && fives >= 1) { tens -= 1 fives -= 1 } else if(fives >= 3) { fives -= 3 } else { return false } break } } return true }; console.log(provideChanges(arr));
আউটপুট
false