#3606

Coupon Code Validator

easy · premium · 65% accepted · 333 likes · top 69%

array · hash table · string · sorting

Description

You are given three arrays of length n that describe the properties of n coupons: code, businessLine, and isActive. The ith coupon has:

- code[i]: a string representing the coupon identifier.

- businessLine[i]: a string denoting the business category of the coupon.

- isActive[i]: a boolean indicating whether the coupon is currently active.

A coupon is considered valid if all of the following conditions hold:

- code[i] is non-empty and consists only of alphanumeric characters (a-z, A-Z, 0-9) and underscores (_).

- businessLine[i] is one of the following four categories: "electronics", "grocery", "pharmacy", "restaurant".

- isActive[i] is true.

Return an array of the codes of all valid coupons, sorted first by their businessLine in the order: "electronics", "grocery", "pharmacy", "restaurant", and then by code in lexicographical (ascending) order within each category.

Solution