前書き
ローンを頼み続ける友人がいて、それに飽きています。今日、彼は再び融資を受けました。彼の申し出を断る代わりに、あなたは素晴らしいアイデアを得ます:できるだけ多くのコイン/手形を彼に与えることによってあなたの友人を荒らしてください。
チャレンジ
入力として受け取ります:あなたの友人がローンを望んでいるお金の量とあなたが持っているコイン/手形の量。このチャレンジでは、可能な金額は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:(