aboutsummaryrefslogtreecommitdiff
path: root/problems/wordle.py
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2024-09-30 16:08:27 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2024-09-30 16:08:27 +0530
commit3496b0ed08c51e37e135e686b1632fd86f930c2c (patch)
tree1da44792489607070f3b4ca14d82af05b73e362b /problems/wordle.py
(init): Initialize repository.
Diffstat (limited to 'problems/wordle.py')
-rw-r--r--problems/wordle.py39
1 files changed, 39 insertions, 0 deletions
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()