Skip to content

GyGaByyyTe/task_3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание 3 — реализовать алгоритм

В этом репозитории находится мой пример решения тестового задания по JavaScript для 14-й Школы разработки интерфейсов (осень 2018, Москва, Санкт-Петербург, Симферополь).

Примеры входных и выходных данных из задания:

В моем решении входные данные остались без изменений, а формат выходных данных незначительно изменился

Запуск

Разработка велась с использованием Node.JS v9.11.2.

npm i
npm run test

Ход решения задачи

Основная функция называется Calculate и находится в файле index.js.

Функция работает по следующему "алгоритму":

  • Создаем объект расписания с массивом объектов-дней, каждый из которых содержит поля: свободная мощность, стоимость 1 Ватта, массив устройств
  • получаем список круглосуточных устройств
    • вписываем их в расписание, уменьшая свободную мощность каждого часа
  • получаем список некруглосуточных устройств, отсортированный в порядке возрастания энергии
    • определяем достаточный период времени для каждого устройства
    • выбираем период с минимальной суммарной стоимостью энергии
    • вписываем каждое устройство в подходящий период времени( начиная с самого энергозатратного)

Тесты

Для тестирования и сравнения результатов функции с эталонными значениями применяется модуль assert, который встроен в Node.js. Для описания тестов применяется фреймворк Mocha.js.

About

Fork yandex-shri-2018/entrance-task-3-2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published