From 3496b0ed08c51e37e135e686b1632fd86f930c2c Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Mon, 30 Sep 2024 16:08:27 +0530 Subject: (init): Initialize repository. --- problems/wordle.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 problems/wordle.py (limited to 'problems/wordle.py') diff --git a/problems/wordle.py b/problems/wordle.py new file mode 100644 index 0000000..2f976d7 --- /dev/null +++ b/problems/wordle.py @@ -0,0 +1,39 @@ +def get_wordle_result(solution, guess): + result = ['_'] * 5 + solution_counts = {} + guess_counts = {} + + for i in range(5): + if guess[i] == solution[i]: + result[i] = 'G' + else: + solution_counts[solution[i]] = solution_counts.get(solution[i], 0) + 1 + guess_counts[guess[i]] = guess_counts.get(guess[i], 0) + 1 + + for i in range(5): + if result[i] == '_': + if guess[i] in solution_counts and solution_counts[guess[i]] > 0: + if guess_counts[guess[i]] > 0: + result[i] = 'Y' + solution_counts[guess[i]] -= 1 + + return ''.join(result) + +def main(): + import sys + input = sys.stdin.read + data = input().splitlines() + + solution = data[0] + n = int(data[1]) + guesses = data[2:2 + n] + + results = [] + for guess in guesses: + results.append(get_wordle_result(solution, guess)) + + for result in results: + print(result) + +if __name__ == "__main__": + main() -- cgit v1.2.3