Participate in Codex, Test Your Skills & Win BIG

Hotel Reviews

Problem Setter: ishubansal Problem Tester: raghav_aggiwal

Problem Description

Given a set of reviews provided by the customers for different hotels and a string containing Good Words, you need to sort the reviews in descending order according to their Goodness Value (Higher goodness value first). We define the Goodness Value of a string as the number of Good Words in that string.

NOTE: Sorting should be stable. If review i and review j have the same Goodness Value then their original order would be preserved.

You are expected to use Trie in an Interview for such problems

Problem Constraints

  1. 1 <= No.of reviews <= 200
  2. 1 <= No. of words in a review <= 1000
  3. 1 <= Length of an individual review <= 10,000
  4. 1 <= Number of Good Words <= 10,000
  5. 1 <= Length of an individual Good Word <= 4
  6. All the alphabets are lower case (a - z)

Input Format

First argument is a string A containing "Good Words" separated by "_" character

Second argument is a vector B of strings containing Hotel Reviews. Review strings are also separated by "_" character.

Output Format

Return a vector of integers which contain the original indexes of the reviews in the sorted order of reviews.

Example Input

Input 1:

 A = "cool_ice_wifi"
 B = ["water_is_cool", "cold_ice_drink", "cool_wifi_speed"]

Example Output

Output 1:

 [2, 0, 1]

Example Explanation

Explanation 1:

 sorted reviews are ["cool_wifi_speed", "water_is_cool", "cold_ice_drink"]

NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details.
Start solving Hotel Reviews on Interview Code Editor
  • Hint 1
  • Solution Approach
  • Complete Solution
Asked In:


Click here to start solving coding interview questions