Einführung
Du hast einen Freund, der dich immer wieder um Kredite bittet und du wirst es leid. Heute kam er wieder für einen Kredit. Anstatt sein Angebot abzulehnen, haben Sie eine großartige Idee: Trollen Sie Ihren Freund, indem Sie ihm so viele Münzen / Scheine wie möglich geben.
Herausforderung
Sie nehmen als Eingabe: den Geldbetrag, für den Ihr Freund einen Kredit haben möchte, und den Betrag der Münzen / Scheine, die Sie haben. Für diese Herausforderung sind die möglichen Nennwerte 20,00 USD, 10,00 USD, 5,00 USD, 2,00 USD, 1,00 USD, 0,25 USD, 0,10 USD, 0,05 USD und 0,01 USD. Ein Beispiel für eine Eingabe ist, 5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]
wenn Ihr Freund 5,67 US-Dollar möchte und Sie 5 20 US-Dollar-Scheine, 3 10 US-Dollar-Scheine usw. haben. Ihre Ausgabe ist die Menge an Münzen / Scheinen, die Ihrem Freund so viel Metall / Papier / Kunststoff wie möglich gibt.
Wenn es nicht möglich ist, Ihrem Freund den genauen Geldbetrag zu geben, den er möchte, geben Sie ihm den nächstmöglichen Geldbetrag, den Sie bezahlen können, der über dem liegt, was er möchte. Zum Beispiel, wenn Ihr Freund 0,07 € möchte, Sie aber nur haben[0, 0, 0, 0, 0, 2, 4, 2, 0]
, geben Sie ihm 2 0,05 USD Münzen (nicht 1 0,10 USD, weil dies ihm nicht so viele Münzen wie möglich geben würde!).
Wenn dein Freund mehr Geld haben möchte als du, gib ihm dein ganzes Geld (und bete, dass du nichts kaufen musst).
Testfälle
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]
Das ist Code-Golf, also gewinnt der kürzeste Code.
2.00
und20.00
aber keine0.2
oder0.02
:(Antworten:
Sauber , 167 Bytes
Definiert die Funktion
@
, EinnahmeReal
und[Int]
.Probieren Sie es online!
quelle
JavaScript, 213 Bytes
Es ist ziemlich langsam und kostet Speicher, also nur kleine Fälle versuchen
quelle
Kotlin , 298 Bytes
Verschönert
Prüfung
Beispiel 4 verursacht OutOfMemory, aber die anderen 3 funktionieren gut.
quelle