Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Find Character Counts and Conditional Sort

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Find Character Counts and Conditional Sort. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

A Lam Research equipment test log contains a text string and a list of candidate tokens. Count every character in the text, including spaces and punctuation, with case sensitivity. Then sort the tokens by a frequency score.

For a token, its score is the sum of the text frequency of each character occurrence in that token. Sort tokens by descending score. If two tokens have the same score, sort them in ascending lexicographic order.

Formal Specification

Implement count_and_sort(text, items).

  • text is a string.
  • items is a list of strings.
  • Return an object with two fields: counts, a dictionary mapping each character in text to its count, and sorted_items, the reordered list of tokens.
  • Repeated characters in a token contribute repeatedly to its score.
  • Do not modify the input list.

Constraints

  • 0 <= len(text) <= 10^5
  • 0 <= len(items) <= 10^4
  • The total number of characters across all tokens is at most 10^5
  • Characters are case-sensitive and may include Unicode characters

Function Signature

def count_and_sort(text, items):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output