ট্র্যাক
/
Swift
Swift
/
অনুশীলনী
/
ন্যাপস্যাক
ন্যাপস্যাক

ন্যাপস্যাক

মধ্যম

ভূমিকা

লাকপা একজন শেরপা পর্বত গাইড ও পোর্টার। কয়েক মাস ধরে সতর্ক পরিকল্পনার পর, লাকপা যে অভিযানের হয়ে কাজ করেন, সেই অভিযানটি এখন রওনা দিতে চলেছে। বেস ক্যাম্পে তিনি যে জিনিসপত্র বহন করে এনেছেন, তার মান তাকে পরিশোধ করা হবে।

তার সামনে অনেকগুলো জিনিস রয়েছে, যার প্রতিটির একটি মান ও ওজন আছে। লাকপা খুশি মনে সব জিনিসই নিয়ে নিতেন, কিন্তু তার ন্যাপস্যাক সীমিত ওজনের বেশি ধারণ করতে পারে না।

নির্দেশনা

আপনার কাজ হলো, ন্যাপস্যাকের বহন ক্ষমতাকে মাথায় রেখে, কোন আইটেমগুলো নিলে তার বেছে নেওয়ার মোট মান সর্বোচ্চ হবে তা নির্ধারণ করা।

আইটেমগুলোকে আইটেমের একটি অ্যারে হিসেবে উপস্থাপন করা হবে। প্রতিটি আইটেমের একটি ওজন ও একটি মান থাকবে। প্রদত্ত সব মানই কঠোরভাবে ধনাত্মক হবে। Lhakpa প্রতিটি আইটেম থেকে মাত্র একটি করে নিতে পারবেন।

উদাহরণস্বরূপ:

Items: [
  { "weight": 5, "value": 10 },
  { "weight": 4, "value": 40 },
  { "weight": 6, "value": 30 },
  { "weight": 4, "value": 50 }
]

Knapsack Maximum Weight: 10

উপরের উদাহরণে, প্রথম আইটেমের ওজন ৫ ও মান ১০, দ্বিতীয় আইটেমের ওজন ৪ ও মান ৪০, এভাবে চলবে। এই উদাহরণে, নিজের মান সর্বোচ্চ করতে Lhakpa-কে দ্বিতীয় ও চতুর্থ আইটেমটি নিতে হবে, যা এই ক্ষেত্রে ৯০। তার ন্যাপস্যাকের ওজনের সীমা ১০ হওয়ায় তিনি ৯০-এর বেশি পেতে পারবেন না।

ট্র্যাক-নির্দিষ্ট নির্দেশনা

আইটেমগুলি Item.swift ফাইলের Item স্ট্রাক্টের মাধ্যমে উপস্থাপন করা হয়।


সূত্র

Wikipediaলিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Swift Exercism

ন্যাপস্যাক শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Swift ট্র্যাকের 35টি কনসেপ্ট116টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।