big, medium, small 세 종류의 차량을 세울 수 있는 주차장을 디자인하는 문제
생성자에서 종류마다 최대로 주차할 수 있는 차량 수를 받고,
addCar 함수에서 인자로 들어온 종류의 타입 차량을 주차할 수 있는 상태인지 아닌지 판단 해야 한다
class ParkingSystem {
private:
enum CarType
{
Big,
Medium,
Small,
Max,
};
int _parkingLot[CarType::Max]{};
public:
ParkingSystem(int big, int medium, int small)
{
_parkingLot[CarType::Big] = big;
_parkingLot[CarType::Medium] = medium;
_parkingLot[CarType::Small] = small;
}
bool addCar(int carType) {
return 0 < _parkingLot[carType - 1]-- ? true : false;
}
};
/**
* Your ParkingSystem object will be instantiated and called as such:
* ParkingSystem* obj = new ParkingSystem(big, medium, small);
* bool param_1 = obj->addCar(carType);
*/