Не трать деньги понапрасну 24/24

Мое решение. Буду благодарен за критику.

let getProfitableProject = function (hours, profit) {
let rate = 1500;

let highPrice;
let lowPrice;

lowPrice = hours * rate;
if (hours > 150) {
lowPrice -= (hours * 250);
}

highPrice = (hours / 2) * (rate * 2.5) - profit;
if ((hours / 2) > 150) {
highPrice -= (hours * 250);
}

if (lowPrice < highPrice) {
return 'Выгодней обычный проект. Потратишь на него ’ + lowPrice;
} else {
return 'Выгодней срочный проект. Потратишь на него ’ + highPrice;
}
}

Отвратительное, абсолютно неадекватное задание. В таком виде оно должно быть под № 12 в списке вызовов (типа самый сложный), ни никак не первым (!).
Очень дизморалит, снижает мотивацию, имхо.
Надеюсь, Академия его переделает (как минимум перепишет теорию)…

Так смотрю с этим заданием ничего и не поменяли.
Из задания:
Функция принимает на вход два параметра:

  • время на проект в часах;
  • прибыль, которую принесёт сайт, если будет сделан в срочном режиме.

Вопрос, как из всех этих данных можно сделать вывод о том какую прибыль в конечном итоге будит приносить тот или иной сайт?

Далее:

Обрати внимание, что срочный проект принесёт прибыль за то время, пока готовился бы обычный проект. Поэтому прибыль от срочного проекта нужно вычесть из его стоимости.

Вопрос, какую прибыль и откуда её брать? Что откуда вычитать?

Это просто … какой то!!!

  • 'Выгодней срочный проект. Потратишь на него ' + расходы — если срочный проект окажется дешевле обычного.
    Вопрос, дешевле обычного??? Вы серьёзно…

  • 'Выгодней обычный проект. Потратишь на него ' + расходы — если обычный проект дешевле.

Вопрос, дешевле относительно чего? Если смотреть все нестыковки с определениями в задании, прям много вопросов появляется.

:exploding_head: :triumph:

function getPrice(timeInHour, isUrgentProject) {
  let perHour = 1500;
  
  if (isUrgentProject) {
    timeInHour /= 2;
    perHour *= 2.5;
    }
    
  if (timeInHour > 150) 
    perHour -= 250;
    
  return timeInHour * perHour; 
  }
  
function getProfitableProject(time, profit) {
  let urgentProject = getPrice(time, true) - profit;
  let standartProject = getPrice(time, false)
  
  if (urgentProject < standartProject) 
    return 'Выгодней срочный проект. Потратишь на него ' + urgentProject;
  else
    return 'Выгодней обычный проект. Потратишь на него ' + standartProject;

}

Але, Авторы!
Вы сами вообще читали задание?
Нет проблемы сделать, есть проблема понять!

Обрати внимание, что срочный проект принесёт прибыль за то время, пока готовился бы обычный проект. Поэтому прибыль от срочного проекта нужно вычесть из его стоимости.

Из непонимания этой части, лезет куча других ложных нестыковок.

Вот так это понимают другие:

Обрати внимание, что быстрый автомобиль установит рекорд за то время, пока чинился бы обычный автомобиль. Поэтому рекорд быстрого автомобиля нужно вычесть из его скорости.
Найти массу всех автомобилей в Саратове.

Я понимаю, что какое то задание можно не сделать или не доделать.
Но сделать настолько по дурацки - это нужно еще захотеть.

Я таки решил, в итоге, вы мне должны 2.5. часа!