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

পাইথনে সর্বাধিক আইসক্রিম বার কেনার প্রোগ্রাম

ধরুন, costs নামে একটি অ্যারে আছে যার n টি এলিমেন্ট, যেখানে costs[i] হলো i-তম আইসক্রিম বারের দাম (কয়েনে)। আমাদের আছে c সংখ্যক কয়েন এবং আমরা যত বেশি সম্ভব আইসক্রিম বার কিনব। আমাদের লক্ষ্য হলো c কয়েন দিয়ে সর্বাধিক কতটি আইসক্রিম বার কেনা যায় তা বের করা।

উদাহরণ

ইনপুট: costs = [3,1,4,5,2], c = 10

আউটপুট: 4 কারণ আমরা ইন্ডেক্স ০, ১, ২, ৪-এ আইসক্রিম কিনতে পারি যার মোট দাম ৩ + ১ + ৪ + ২ = ১০।

সমাধানের ধাপসমূহ

  1. costs লিস্টটি সর্ট করুন।
  2. i := 0 সেট করুন।
  3. যখন i < size of costs এবং c >= costs[i], তখন লুপ চালান:
    • c := c - costs[i]
    • i := i + 1
  4. i রিটার্ন করুন।

পাইথন কোড

def solve(costs, c):
    costs.sort()
    i = 0
    while i < len(costs) and c >= costs[i]:
        c = c - costs[i]
        i = i + 1
    return i

costs = [3, 1, 4, 5, 2]
c = 10
print(solve(costs, c))

ইনপুট

[3,1,4,5,2], 10

আউটপুট

4

ব্যাখ্যা: সর্ট করার পর costs = [1, 2, 3, 4, 5] হয়। ক্রমশः ১, ২, ৩, ৪ কিনে মোট ১০ কয়েন খরচ হয়। ৫ কিনলে ১৫ কয়েন লাগত যা আমাদের নেই। তাই সর্বোচ্চ ৪টি কিনা সম্ভব।

  1. পাইথনে অ্যারে রিমভাল গেমের বিজয়ী খুঁজে বের করা

  2. পাইথনে kটি একই দৈর্ঘ্যের রিবন বানাতে সর্বোচ্চ দৈর্ঘ্য বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রাম - যেকোনো জায়গায় ৫ যোগ করে সর্বাধিক সংখ্যা বের করুন

  4. Python-এ সর্বোচ্চ বিল্ডিং হাইট বের করার প্রোগ্রাম