# Pastebin Et5zNwr4 def find_the_added_letter_junior(s, t): char_count = {} for c in t: if c in char_count: char_count[c] += 1 else: char_count[c] = 1 for c in s: if c in char_count: char_count[c] -= 1 else: return c for c in char_count: if char_count[c] == 1: return c def find_the_added_letter_senior(s, t): counter_s = collections.Counter(s) counter_t = collections.Counter(t) diff = counter_t - counter_s return next(iter(diff)) import collections import random import string import timeit n = 5_000#_000 s = ''.join(random.choices(string.ascii_uppercase + string.digits, k=n)) pos = random.randint (0, n) t = ''.join([s[:pos], "X", s[pos:]]) print("Junior", timeit.timeit("find_the_added_letter_junior(s, t)", globals=globals(), number=1000)) print("Senior", timeit.timeit("find_the_added_letter_senior(s, t)", globals=globals(), number=1000))