Calculate Tax Amount
Easy
4
1
25.2% Acceptance
In this lab, you have to implement a function that calculates the tax amount based on given progressive tax brackets. The given tax brackets have an upper bound and a tax rate at that bracket.
You will be given a 2D integer array brackets
where brackets[i] = [upperi, percenti]
represents that the ith
tax bracket has an upper-bound income of upperi
and is taxed at a rate of percenti
.
The tax brackets are sorted by their upper bound, meaning upperi-1 < upperi
for 0 < i < brackets.length
.
Based on the given brackets and the income, you need to calculate the total tax to be paid.
Here's an example to help you understand the problem better:
Example:
1// brackets = [[3, 50], [7, 10], [12, 25]] 2// income = 10 3// Output: 2.65 4 5// Explanation: 6// Based on your income, you have: 7// - 3 dollars in the 1st tax bracket (tax rate 50%) 8// - 4 dollars in the 2nd tax bracket (tax rate 10%) 9// - 3 dollars in the 3rd tax bracket (tax rate 25%) 10 11// In total, you pay $3 * 50% + $4 * 10% + $3 * 25% = $2.65 in taxes.
Function Signature:
/** * @param {number[][]} brackets * @param {number} income * @return {number} */ const calculateTax = (brackets, income) => { // Your code here };
Constraints:
1 <= brackets.length <= 100
1 <= upperi <= 1000
0 <= percenti <= 100
0 <= income <= 1000
upperi
is sorted in ascending order.- All the values of
upperi
are unique. - The upper bound of the last tax bracket is greater than or equal to
income
.
Challenges
- Implement the
calculateTax
function. - Export the
calculateTax
function. - Make sure you're default export the function