DEV Community

Discussion on: Daily Challenge #74 - Free Pizza

Collapse
 
lordapple profile image
LordApple

c++, hope it's correct.

#include <iostream>
#include <unordered_set>
#include <utility>
#include <vector>

struct Customer{
    Customer(std::string t_name, std::vector<int> t_orders) : name(std::move(t_name)), orders(std::move(t_orders)){
    };

    std::string name;
    std::vector<int> orders;
};

auto freePizza(const std::vector<Customer>& customers, const int& minPrice, const int& minOrders){
    std::vector<Customer> returnValue{};

    for(const auto& customer : customers){
        if(customer.orders.size() < minOrders)
            continue;

        int count = 0;

        for(const auto& item : customer.orders){
            if(item >= minPrice)
                ++count;
        }

        if(count >= minOrders)
            returnValue.push_back(customer);
    }
    return returnValue;
}