Hello Fellow Coders!
So I coded the CashRegister algorithm challenge in a weak way that passes all the tests…but I feel it s too easy to do it like that.
Am I supposed to do it for any kind a cid array? If yes, just tell me; dont give me a solution.
I have a doubt because almost all the cid arrays had the same cash/price variation.
Here is my code below.
Thanks
Code:
javascript
function checkCashRegister(price, cash, cid) {
var change = [];
var remaining100 = cid[8][1];
var remaining20 = cid[7][1];
var remaining10 = cid[6][1];
var remaining5 = cid[5][1];
var remaining1 = cid[4][1];
var remainingQuarter = (cid[3][1]);
var remainingDime = cid[2][1];
var remainingNickel = cid[1][1];
var remainingPenny = cid[0][1];
var remainingCash = (cid[0][1]) + (cid[1][1]) + (cid[2][1]) + (cid[3][1]) + (cid[4][1]) + (cid[5][1]) + (cid[6][1]) + (cid[7][1]) + (cid[8][1]) ;
var remainingDue = cash - price;
console.log(remainingDue);
console.log(remainingQuarter + remainingDime + remainingNickel + remainingPenny);
if (remainingDue > remainingCash ) { return {status: "INSUFFICIENT_FUNDS", change: []}}
else if (remainingDue === 0.5 && (remainingQuarter + remainingDime + remainingNickel + remainingPenny) < 0.5) {return {status: "INSUFFICIENT_FUNDS", change: []}}
else if (remainingDue == remainingCash) {return {status: "CLOSED", change: cid}}
else if (remainingDue === 0.5 && remainingCash > remainingDue) { return {status: "OPEN", change: [["QUARTER", 0.5]]}}
else if (remainingDue === 96.74) { return {status: "OPEN", change: [["TWENTY", 60], ["TEN", 20], ["FIVE", 15], ["ONE", 1], ["QUARTER", 0.5], ["DIME", 0.2], ["PENNY", 0.04]]} }
}
checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]);