Implement WordGuess feedback scoring
VerkadaSoftware Engineer · Technical ScreenLast updated
This question evaluates proficiency in string processing, frequency counting, and edge-case handling by requiring implementation of Wordle-like feedback scoring for guess versus secret words.
WordGuess (Wordle-like) scoring
Implement a function that scores a guess against a secret word of the same length.
Scoring rules (per character)
Return an integer array result of length n (where n = secret.length = guess.length):
- GREEN = 2:
guess[i] == secret[i](exact match) - YELLOW = 1:
guess[i] != secret[i], butguess[i]occurs elsewhere insecretand there is still unmatched availability of that character after accounting for GREEN matches and other YELLOW assignments (i.e., respect letter multiplicity). - GRAY = 0: the character does not occur in
secret(or all occurrences are already consumed by GREEN/YELLOW matches).
This is the same matching behavior used by Wordle: GREEN matches are applied first; then YELLOWs are assigned based on remaining character counts in the secret.
Input validation
Throw an exception (or return an error) if any of the following are true:
secretorguessis null/empty- lengths differ
- inputs contain invalid characters (define and enforce a rule, e.g., only lowercase English letters
a-z)
Examples
-
secret = "hello",guess = "abcde"→result = [0,0,0,0,1](eexists insecretbut not at the same position) -
secret = "hello",guess = "eabcd"→result = [1,0,0,0,0] -
Duplicate-letter behavior:
secret = "aabb",guess = "bbba"→result = [1,2,0,1]Explanation: index1 is GREEN (b), remaining secret letters have oneband twoaavailable, so only one of the remainingbs can be YELLOW.
What to implement
Write the core scoring function (you do not need to build a full interactive game loop unless explicitly asked).
- Input:
secret: string,guess: string - Output:
int[] result(values in{0,1,2})
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.