Python fast and efficient (97%)
Declare __slots__ at the class level to save a little memory.  Use a dictionary to store the count of available spots (cars never seem to leave this garage...).
Declare `__slots__` at the class level to save a little memory.  Use a dictionary to store the count of available spots (cars never seem to leave this garage...).\n\nWhen adding a car for a given type, first check the number of available spots via `available_spots = self._parking[carType]`.  If it is a truthy (e.g. > 0), then reduce availability by one and return True.  Otherwise the function just returns `None`, a falsy.\n\n```\nclass ParkingSystem:\n    __slots__ = [\'_parking\']\n\t\n    def __init__(self, big: int, medium: int, small: int):\n        self._parking = {\n            1: big, \n            2: medium, \n            3: small\n        }\n\n    def addCar(self, carType: int) -> bool:\n        available_spots = self._parking[carType]\n        if available_spots:\n            self._parking[carType] = available_spots - 1\n            return True\n```
['Python', 'Python3']