На любом языке программирования написать функцию, которая высчитывает количество задач по каждому статусу для каждого проекта.
Пример входных данных:
projects = [
{"id": 2, "title": "Canape CRM"},
{"id": 3, "title": "Мастер"},
{"id": 1, "title": "Canape CMS"}
]
statuses = [
{"id": 7, "title": "Площадка разворачивается"},
{"id": 1, "title": "Площадка обновляется"},
{"id": 2, "title": "Выполняется резервное копирование"},
{"id": 3, "title": "ОК"},
{"id": 6, "title": "Ошибка"}
]
tasks = [{"project_id": 2, "status_id": 2}, {"project_id": 2, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 3, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 6}, {"project_id": 1, "status_id": 3}, {"project_id": 2, "status_id": 2}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 7}, {"project_id": 3, "status_id": 7}, {"project_id": 1, "status_id": 2}, {"project_id": 3, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 3, "status_id": 1}, {"project_id": 3, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 3, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 3, "status_id": 1}, {"project_id": 1, "status_id": 6}, {"project_id": 1, "status_id": 3}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 6}, {"project_id": 3, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 7}, {"project_id": 3, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 6}, {"project_id": 1, "status_id": 6}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 2, "status_id": 1}, {"project_id": 2, "status_id": 6}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 7}, {"project_id": 1, "status_id": 1}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 2}, {"project_id": 1, "status_id": 2}, {"project_id": 2, "status_id": 1}, {"project_id": 1, "status_id": 7}]
Пример выходных данных:
[
{
"title": "Canape CRM",
"Площадка разворачивается": 0,
"Площадка обновляется": 13,
"Выполняется резервное копирование": 2,
"ОК": 0,
"Ошибка": 1
},
{
"title": "Мастер",
"Площадка разворачивается": 1,
"Площадка обновляется": 6,
"Выполняется резервное копирование": 2,
"ОК": 0,
"Ошибка": 0
},
{
"title": "Canape CMS",
"Площадка разворачивается": 13,
"Площадка обновляется": 23,
"Выполняется резервное копирование": 12,
"ОК": 2,
"Ошибка": 5
}
]
Главный критерий -- элегантность решения.