{"ScriptPreparationCode":"const price = 56;\r\nconst input = 1000;\r\nconst coins = [50, 20, 10, 5, 2, 1];\r\n\r\nlet diff = input - price;","TestCases":[{"Name":"division","Code":"const change = coins.reduce((acc, coin) =\u003E {\r\n const count = Math.floor(diff / coin);\r\n if (count \u003E 0) {\r\n for (let i = 0; i \u003C count; i\u002B\u002B) {\r\n acc.push(coin);\r\n }\r\n diff = diff % coin;\r\n}\r\n return acc;\r\n}, []);","IsDeferred":false},{"Name":"loops","Code":"function getChange(diff) {\r\n const change = [];\r\n while (diff \u003E 0) {\r\n const coin = coins.find(coin =\u003E coin \u003C= diff);\r\n if (coin) {\r\n change.push(coin);\r\n diff -= coin;\r\n }\r\n }\r\n return change;\r\n}\r\n\r\ngetChange(diff);","IsDeferred":false}]}