Ransom Note

Problem Summary

(Write in your own words, not copied from LeetCode. This forces comprehension.)

Key Observations

(Patterns, constraints, or hints in the problem statement.)

Main Concepts Used

(Mark the CS concepts or algorithms used.)

Time & Space Complexity

Code

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        countOfLetters = {}
        for letter in magazine:
            countOfLetters[letter] = countOfLetters.get(letter, 0) + 1

        for letter in ransomNote:
            if letter not in countOfLetters or countOfLetters[letter] == 0:
                return False
            else:
                countOfLetters[letter] -= 1

        return True