Member-only story

Leetcode 1357 Apply discount every n orders

Pierre-Marie Poitevin
5 min readFeb 22, 2020

--

In this Leetcode problem, we are asked to return the cost of different orders, knowing that we apply a discount every n customers. Here is the problem statement:

There is a sale in a supermarket, there will be a discount every n customer.
There are some products in the supermarket where the id of the i-th product is products[i] and the price per unit of this product is prices[i].
The system will count the number of customers and when the n-th customer arrive he/she will have a discount on the bill. (i.e if the cost is x the new cost is x - (discount * x) / 100). Then the system will start counting customers again.
The customer orders a certain amount of each product where product[i] is the id of the i-th product the customer ordered and amount[i] is the number of units the customer ordered of that product.

Implement the Cashier class:

Cashier(int n, int discount, int[] products, int[] prices) Initializes the object with n, the discount, the products and their prices.

double getBill(int[] product, int[] amount) returns the value of the bill and apply the discount if needed. Answers within 10^-5 of the actual value will be accepted as correct.

Pay attention to the statement as it is quite long. Here are some possible inputs and constraints:

input for testing and constraints

--

--

Pierre-Marie Poitevin
Pierre-Marie Poitevin

No responses yet