input: Write a function to determine if a string `s` has matching parentheses. If it has matching parentheses return True else return False.
  assert matching_paren("()")==True
  assert matching_paren("()[]{}")==True
  assert matching_paren("(]")==False
  assert matching_paren("([)]")==False
  assert matching_paren("{[]}")==True
output: def matching_paren(s):
      stack = []
      mapping = {')': '(', ']': '[', '}': '{'}
      for char in s:
          if char in mapping:
              top_element = stack.pop() if stack else '#'
              if mapping[char] != top_element:
                  return False
          else:
              stack.append(char)
      return not stack