class Solution: def canConstruct(self, ransomNote: str, magazine: str) -> bool: ran_dic = {} mag_dic = {} for l in ransomNote: if l not in ran_dic: ran_dic[l] = 1 else: ran_dic[l] += 1 for l in magazine: if l not in mag_dic: mag_dic[l] = 1 else: mag_dic[l] += 1 print(ran_dic) print(mag_dic) for key in ran_dic: if key not in mag_dic: return False if ran_dic[key] > mag_dic[key]: return False return True sol = Solution() print(sol.canConstruct("a", "b")) print(sol.canConstruct("aa", "ab")) print(sol.canConstruct("aa", "aab"))