hello , i am trying to solve challenge " Cash Register", and i solved some of its scenarios but i am stuck in these two scenarions i can’t understand this one, can any one explain this case for me please ?
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]])
should return {status: "OPEN", change: [["QUARTER", 0.5]]}
.
To receive help, please provide your code.
This says that you should get 50cents change when you pay with $20 and only $19.50 is due.
hi Jermey,
this is my code, but i still thinking about logic for case i posted
function checkCashRegister(price, cash, cid) {
var change= cash - price;
var totalCID=0;
var obj;
///calculating total in drawer
for (var i=0;i<cid.length;i++)
{
totalCID += cid[i][1];
}
if (totalCID < change || totalCID>=1)
{
obj= {status: "INSUFFICIENT_FUNDS", change: []};
}
else if (totalCID === change)
{
obj= {status: "CLOSED", change: cid };
}
else
{ /// still thinking about this scenario
object = {status: "OPEN", change:cid};
}
return obj;
} ```
I mean why it returned value of “QUARTER” only not another value , although the requirement was to return {status: "OPEN", change: [...]}
, with the change due in coins and bills, sorted in highest to lowest order.
same for this scenario
checkCashRegister(3.26, 100, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]])
should return {status: "OPEN", change: [["TWENTY", 60], ["TEN", 20], ["FIVE", 15], ["ONE", 1], ["QUARTER", 0.5], ["DIME", 0.2], ["PENNY", 0.04]]}
.
why it didn’t return [“ONE HUNDRED”, 100]] in the returned sorted array??
Only 50 cents in quarters is the expected change.
In the second case you mention, a 100 dollar bill is not part of the change being given back.
system
closed
November 19, 2021, 6:20pm
#7
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.