Top k error codes

Write codeMedium15 min

Your task

A log pipeline collects error codes from a web service in the order they occurred. Given that ordered list and an integer k, return the k codes that occurred most often, highest count first. When two codes have equal counts, the one whose first occurrence came earlier in the log wins the earlier spot. Assume 1 <= k <= number of distinct codes. Example: codes = ["504", "500", "504", "500", "404"], k = 2 gives ["504", "500"], both occur twice, and "504" appeared first.

Examples

frequent_error_codes(codes: list[str], k: int) -> list[str]
Example 1
Inputfrequent_error_codes(["504", "500", "504", "500", "404"], 2)
Output["504", "500"]