소개
당신은 계속 대출을 요구하는 친구가 있고 당신은 그것에 지치고 있습니다. 오늘 그는 다시 대출을 받기 위해 왔습니다. 그의 제안을 거절하는 대신, 좋은 아이디어를 얻을 수 있습니다. 친구에게 가능한 많은 동전 / 청구서를 주어서 트롤하십시오.
도전
당신은 입력으로 취할 것입니다 : 친구가 대출 받기를 원하는 금액과 가지고있는 동전 / 청구서 금액. 이 도전에 대해 가능한 교파는 $ 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]하고 있는 경우 , $ 0.05 동전 2 개를 주어야합니다 (가능한 한 많은 동전을주지 않기 때문에 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:(