LeetCode/problems/cpp/design-parking-system.cpp
Matej Focko 333866d1bc
chore: split solutions by language
Signed-off-by: Matej Focko <mfocko@redhat.com>
2023-06-02 17:19:02 +02:00

46 lines
833 B
C++

#include <cassert>
class ParkingSystem {
int big;
int medium;
int small;
int& get(int carType)
{
switch (carType) {
case 1:
return big;
case 2:
return medium;
case 3:
return small;
default:
assert(false);
}
}
public:
ParkingSystem(int big, int medium, int small)
: big(big)
, medium(medium)
, small(small)
{
}
bool addCar(int carType)
{
auto& space = get(carType);
if (space <= 0) {
return false;
}
--space;
return true;
}
};
/**
* Your ParkingSystem object will be instantiated and called as such:
* ParkingSystem* obj = new ParkingSystem(big, medium, small);
* bool param_1 = obj->addCar(carType);
*/