문제

  • 렌트카 비용은 하루에 $40이다.
  • 7일 이상 렌트하면, 총 금액에서 $50이 할인된다.
  • 3일 이상 렌트하면, 총 금액에서 $20이 할인된다.
  • 일수에 따라 총 금액을 반환한다.

풀이 01

function rentalCarCost(days) {
  if (days >= 7) return days * 40 - 50;
  if (days >= 3 && days < 7) return days * 40 - 20;
  if (days <= 3) return days * 40;
}

rentalCarCost(1);   // 40
rentalCarCost(2);   // 80
rentalCarCost(3);   // 100 (120 - 20)
rentalCarCost(4);   // 140
rentalCarCost(5);   // 180
rentalCarCost(6);   // 220
rentalCarCost(7);   // 230 (280 - 50)
rentalCarCost(8);   // 270
rentalCarCost(9);   // 310
rentalCarCost(10);  // 350

풀이 02

function rentalCarCost(days) {
  return days * 40 - (days >= 7 ? 50 : days >= 3 ? 20 : 0);
}

rentalCarCost(1);   // 40
rentalCarCost(2);   // 80
rentalCarCost(3);   // 100 (120 - 20)
rentalCarCost(4);   // 140
rentalCarCost(5);   // 180
rentalCarCost(6);   // 220
rentalCarCost(7);   // 230 (280 - 50)
rentalCarCost(8);   // 270
rentalCarCost(9);   // 310
rentalCarCost(10);  // 350