Easy
6
60.0% Acceptance

In this lab, you will be working on a problem related to a lemonade stand where each lemonade costs `\$5`. Customers are standing in a queue to buy from you and order one at a time (in the order specified by bills). Each customer will only buy one lemonade and pay with either a `\$5`, `\$10`, or `\$20` bill. Your task is to provide the correct change to each customer so that the net transaction is that the customer pays `\$5`.

At the beginning of the day, you have no change in hand. You are given an integer array `bills` where `bills[i]` is the bill the `ith` customer pays. You need to return `true` if you can provide every customer with the correct change, or `false` otherwise.

## Examples

Example 1:

``````Input: bills = [5,5,5,10,20]
Output: true``````

Explanation:

• From the first 3 customers, we collect three \$5 bills in order.
• From the fourth customer, we collect a \$10 bill and give back a \$5.
• From the fifth customer, we give a \$10 bill and a \$5 bill.
• Since all customers got the correct change, we output true.

Example 2:

``````Input: bills = [5,5,10,10,20]
Output: false``````

Explanation:

• From the first two customers in order, we collect two \$5 bills.
• For the next two customers in order, we collect a \$10 bill and give back a \$5 bill.
• For the last customer, we cannot give the change of \$15 back because we only have two \$10 bills.
• Since not every customer received the correct change, the answer is false.

## Lab Challenges

1. Challenge 1: Write a function `lemonadeChange()` that takes an array `bills` as a parameter and returns a boolean value whether you can provide every customer with the correct change or not.
2. Challenge 2: Export the `lemonadeChange()` function.