ভূমিকা
আপনার এক বন্ধু রয়েছে যা আপনাকে loansণ চেয়ে রাখে এবং আপনি এতে ক্লান্ত হয়ে পড়েন। আজ, তিনি আবার aণের জন্য এসেছিলেন। তার অফারটি প্রত্যাখ্যান করার পরিবর্তে, আপনি একটি দুর্দান্ত ধারণা পাবেন: আপনার বন্ধুকে যতটা সম্ভব কয়েন / বিল দিয়ে ট্রল করুন।
চ্যালেঞ্জ
আপনি ইনপুট হিসাবে গ্রহণ করবেন: আপনার বন্ধু যে পরিমাণ অর্থের জন্য wantsণ চায় এবং আপনার যে পরিমাণ মুদ্রা / বিলের পরিমাণ রয়েছে। এই চ্যালেঞ্জের জন্য, সম্ভাব্য সংজ্ঞাগুলি হ'ল $ 20.00, $ 10.00, $ 5.00, $ 2.00, $ 1.00, $ 0.25, $ 0.10, $ 0.05 এবং $ 0.01। ইনপুটটির একটি উদাহরণ হ'ল 5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]
যদি আপনি বন্ধুটি $ 5.67 চান এবং আপনার কাছে 5 $ 20 টি বিল, 3 $ 10 বিল ইত্যাদি রয়েছে।
যদি আপনার বন্ধুকে তার সঠিক পরিমাণের অর্থ প্রদান করা সম্ভব না হয় তবে আপনি যে নিকটতম অর্থ দিতে পারেন তার চেয়ে বেশি পরিমাণ অর্থ প্রদান করুন যা তিনি চান তার চেয়ে বেশি। উদাহরণস্বরূপ, যদি আপনার বন্ধুটি 0.07 ডলার চায় তবে আপনার কাছে কেবলমাত্র [0, 0, 0, 0, 0, 2, 4, 2, 0]
তাকে 2 $ 0.05 কয়েন দিন (1 $ 0.10 নয় কারণ এটি তাকে যতটা সম্ভব মুদ্রা দেয় না!)।
আপনার বন্ধু যদি আপনার চেয়ে বেশি অর্থ চায় তবে তাকে আপনার সমস্ত টাকা দিন (এবং প্রার্থনা করুন আপনার কোনও কেনার দরকার নেই)।
পরীক্ষার মামলা
Input: 6.54, [9, 8, 7, 6, 5, 4, 3, 2, 4]
Output: [0, 0, 0, 1, 4, 1, 2, 1, 4]
Input: 2, [0, 1, 0, 0, 0, 0, 0, 0, 0]
Output: [0, 1, 0, 0, 0, 0, 0, 0, 0]
Input: 9999, [0, 0, 0, 0, 0, 0, 0, 0, 1]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 1]
Input: 0, [99, 99, 99, 99, 99, 99, 99, 99, 99]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0]
এটি কোড-গল্ফ তাই সংক্ষিপ্ততম কোডের জয়।
2.00
এবং20.00
তবে নেই0.2
বা0.02
:(