--- tags: data_structure_python --- # Ransom Note <img src="https://img.shields.io/badge/-easy-brightgreen"> Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false. Each letter in the magazine string can only be used once in your ransom note. **Example 1:** ``` Input: ransomNote = "a", magazine = "b" Output: false ``` **Example 2:** ``` Input: ransomNote = "aa", magazine = "ab" Output: false ``` **Example 3:** ``` Input: ransomNote = "aa", magazine = "aab" Output: true ``` **Constraints:** - You may assume that both strings contain only lowercase letters. # Solution ```python= class Solution: def canConstruct(self, ransomNote: str, magazine: str) -> bool: for letter in set(ransomNote): if ransomNote.count(letter) > magazine.count(letter): return False return True ```