| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Перед выполнением задания внимательно прочитайте:
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.
Три компаньона – «Danny», «Rusty» и «Linus» – частенько проворачивают тёмные делишки под покровом ночи: пишут на PHP, едят после шести и изредка грабят банки.
Сегодня они подумали, что настало время завязать с тёмными делами. Поэтому решили пойти на последнее ограбление, а после изучить javascript и стать законопослушными фронтедерами.
Сейчас уже понедельник, а в четверг в последний банк поставят новую сигнализацию. И у них есть только три дня (понедельник, вторник и среда), чтобы выбрать подходящее время. Во-первых, это должно быть в рабочие часы банка – так легче проникнуть в него. Во-вторых, все трое должны быть свободны. И в-третьих, должно быть достаточно времени, чтобы провернуть дело.
Компаньоны быстро составили расписание – когда и кто занят
(заметьте, что грабители находятся в разных часовых поясах):
{
Danny: [
{ from: 'ПН 12:00+5', to: 'ПН 17:00+5' },
{ from: 'ВТ 13:00+5', to: 'ВТ 16:00+5' }
],
Rusty: [
{ from: 'ПН 11:30+5', to: 'ПН 16:30+5' },
{ from: 'ВТ 13:00+5', to: 'ВТ 16:00+5' }
],
Linus: [
{ from: 'ПН 09:00+3', to: 'ПН 14:00+3' },
{ from: 'ПН 21:00+3', to: 'ВТ 09:30+3' },
{ from: 'СР 09:30+3', to: 'СР 15:00+3' }
]
}И нашли в интернете часы работы банка:
{ from: '10:00+5', to: '18:00+5' }Но выбрать время для ограбления сходу не получилось, поэтому предлагаем вам написать скриптик с методом (getAppropriateMoment), который на вход принимает расписание (schedule), необходимое для ограбления время (time) в минутах и время работы банка (workingHours), вычисляет подходящее время и на выходе предоставляет объект для работы с ним:
Дополнительные условия и ограничения:
В файле index.js и в тестах вы можете найти примеры использования получившегося скриптика.
Перед выполнением внимательно прочитайте про особенности
Реализовать метод .tryLater(), который находит следующее подходящее время через полчаса от предыдущего. Если найти не получается, то время остается прежнее. Метод возращает true, если получилось найти и false, если нет.
Пример работы этого метода вы может отыскать в index.js и в тестах.
Будет по-настоящему здорово, если вы его осилите!
⚠️ Грабить банки – нехорошо, не повторяйте этого дома!
| Back | FazBrowse Home | New Git URL |