-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchangeEnough.js
More file actions
28 lines (25 loc) · 1015 Bytes
/
changeEnough.js
File metadata and controls
28 lines (25 loc) · 1015 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Given a total due and an array representing the amount of change in your pocket, determine whether or not you are able to pay for the item. Change will always be represented in the following order: quarters,
// dimes, nickels, pennies.
// To illustrate: changeEnough([25, 20, 5, 0], 4.25) should yield true, since having 25 quarters, 20 dimes, 5 nickels and
// 0 pennies gives you 6.25 + 2 + .25 + 0 = 8.50.
// Examples:
// changeEnough([2, 100, 0, 0], 14.11) ➞ false
// changeEnough([0, 0, 20, 5], 0.75) ➞ true
// changeEnough([30, 40, 20, 5], 12.55) ➞ true
// changeEnough([10, 0, 0, 50], 3.85) ➞ false
// changeEnough([1, 0, 5, 219], 19.99) ➞ false
// Notes:
// quarter: 25 cents / $0.25
// dime: 10 cents / $0.10
// nickel: 5 cents / $0.05
// penny: 1 cent / $0.01
function changeEnough(change, amountDue) {
return change[0] * 0.25 +
change[1] * 0.1 +
change[2] * 0.05 +
change[3] * 0.01 >=
amountDue
? true
: false;
}
console.log(changeEnough([2, 100, 0, 0], 14.11));