ধরুন আপনি একটি পার্কিং সিস্টেম ডিজাইন করতে চান। একটি পার্কিং লটে তিনটি ভিন্ন ধরণের পার্কিং স্পেস রয়েছে - বড়, মাঝারি এবং ছোট। এবং প্রতিটি আকারের জন্য নির্দিষ্ট সংখ্যক স্লট রয়েছে। আওয়ারপার্কিংসিস্টেম নামে একটি ক্লাস তৈরি করুন দুটি পদ্ধতির সাথে −
-
নির্মাতা (বড়, মাঝারি, ছোট) − এই কনস্ট্রাক্টর বিভিন্ন স্পেসের জন্য উপলব্ধ স্লটের সংখ্যা নিচ্ছে এবং আওয়ার পার্কিং সিস্টেম ক্লাসের অবজেক্ট শুরু করছে।
-
addCar(carType) − এই পদ্ধতিটি পার্কিং লটের ভিতরে যে গাড়িটি রাখতে চায় তার জন্য প্রদত্ত কারটাইপের পার্কিং স্পেস আছে কিনা তা পরীক্ষা করে৷
তিনটি স্লট বড়, মাঝারি বা ছোট, যথাক্রমে 1, 2 এবং 3 দ্বারা প্রতিনিধিত্ব করা হয়। সীমাবদ্ধতা হল একটি গাড়ি শুধুমাত্র একটি পার্কিং স্থানে পার্ক করতে পারে যদি carType মিলে যায়। যদি কোন স্থান উপলব্ধ না হয়, মিথ্যা ফেরত দিন, অন্যথায় সেই আকারের জায়গায় গাড়ি পার্ক করুন এবং সত্যে ফিরে আসুন।
যদি বড় গাড়ির জন্য 2টি স্পেস থাকে, মাঝারি গাড়ির জন্য স্পেস নেই এবং ছোট গাড়ির জন্য 1টি স্পেস থাকে, তাহলে কনস্ট্রাক্টর কল হবে OurParkingSystem(2, 0, 1) এর মতো এবং যদি আমরা addCar বলি −
addCar(3) - একটি ছোট গাড়ী যোগ করুন এবং সত্য ফিরে আসুন
addCar(2) - মাঝারি গাড়ি যোগ করার জন্য কোন স্থান নেই তাই মিথ্যা ফেরত দিন
addCar(3) − একটি নতুন ছোট গাড়ি যোগ করার জায়গা নেই তাই মিথ্যা ফেরত দিন
addCar(1) - একটি বড় গাড়ি যোগ করুন এবং সত্য ফিরে আসুন
addCar(1) − আরেকটি বড় গাড়ি যোগ করুন এবং সত্য ফিরে আসুন
addCar(1) - অন্য বড় গাড়ির জন্য জায়গা নেই তাই মিথ্যা ফেরত দিন
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
একটি ফাংশন কনস্ট্রাক্টর() সংজ্ঞায়িত করুন। এটি বড়, মাঝারি, ছোট
লাগবে -
sp :=একটি তালিকা যেমন [0,বড়,মাঝারি,ছোট]
-
একটি ফাংশন addCar() সংজ্ঞায়িত করুন। এটি carType লাগবে
-
যদি sp[carType]> 0 হয়, তাহলে
-
sp[carType] :=sp[carType] - 1
-
রিটার্ন ট্রু
-
-
রিটার্ন ফলস
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class OurParkingSystem: def __init__(self, big, medium, small): self.sp = [0,big,medium,small] def addCar(self, carType): if(self.sp[carType] >0 ): self.sp[carType] -= 1 return True return False ps = OurParkingSystem(2, 0, 1) print(ps.addCar(3)) print(ps.addCar(2)) print(ps.addCar(3)) print(ps.addCar(1)) print(ps.addCar(1)) print(ps.addCar(1))
ইনপুট
ps.addCar(3) ps.addCar(2) ps.addCar(3) ps.addCar(1) ps.addCar(1) ps.addCar(1)
আউটপুট
True False False True True False