디자인 주차 시스템

1921 단어 theabbieleetcodedsa
주차장의 주차 시스템을 설계합니다. 주차장에는 대, 중, 소 3가지 종류의 주차 공간이 있으며 각 크기마다 정해진 수의 주차 공간이 있습니다.
ParkingSystem 클래스를 구현합니다.
  • ParkingSystem(int big, int medium, int small) ParkingSystem 클래스의 개체를 초기화합니다. 각 주차 공간의 슬롯 수는 생성자의 일부로 제공됩니다.
  • bool addCar(int carType) 주차장에 진입하려는 차량에 대해 carType의 주차 공간이 있는지 확인합니다. carType는 큰 것, 중간 또는 작은 것의 세 가지 종류가 될 수 있으며 각각 1 , 23로 표시됩니다. 자동차는 carType의 주차 공간에만 주차할 수 있습니다. 사용 가능한 공간이 없으면 false로 돌아가고 그렇지 않으면 해당 크기의 공간에 차를 주차하고 true로 돌아갑니다.

  • 예 1:

    입력
    ["주차 시스템", "addCar", "addCar", "addCar", "addCar"]
    [[1, 1, 0], [1], [2], [3], [1]]
    산출
    [널, 참, 참, 거짓, 거짓]

    설명
    ParkingSystem ParkingSystem = new ParkingSystem(1, 1, 0);
    ParkingSystem.addCar(1);//큰 차에 사용할 수 있는 슬롯이 1개 있으므로 true를 반환합니다.
    ParkingSystem.addCar(2);//중형 자동차에 사용할 수 있는 슬롯이 1개 있으므로 true를 반환합니다.
    ParkingSystem.addCar(3);//작은 차에 사용할 수 있는 슬롯이 없기 때문에 false를 반환합니다.
    ParkingSystem.addCar(1);//큰 차에 사용할 수 있는 슬롯이 없기 때문에 false를 반환합니다. 이미 점유되어 있습니다.

    제약:
  • 0 <= big, medium, small <= 1000
  • carType1, 2 또는 3입니다.
  • 최대 1000 호출이 addCar에 이루어집니다.

  • 해결책:

    class ParkingSystem:
    
        def __init__(self, big: int, medium: int, small: int):
            self.cap = [big, medium, small]
            self.ctr = [0, 0, 0]
    
        def addCar(self, carType: int) -> bool:
            if self.ctr[carType - 1] + 1 <= self.cap[carType - 1]:
                self.ctr[carType - 1] += 1
                return True
            return False
    
    
    # Your ParkingSystem object will be instantiated and called as such:
    # obj = ParkingSystem(big, medium, small)
    # param_1 = obj.addCar(carType)
    

    좋은 웹페이지 즐겨찾기