সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র আর্গুমেন্ট হিসাবে সংখ্যার একটি অ্যারে নেয়।
আসুন আমরা নিম্নলিখিত পরিস্থিতি বিবেচনা করি:
একজন দোকানদার একটি পণ্য বিক্রি করে যার দাম ঠিক ₹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