문제

  • 2 + 1 망고 할인이 있다. (3 for 2)
  • 주어진 수량과 가격(개당)에 대한 망고의 총 비용을 계산한다.

풀이 01

function totalCost(quantity, price) {
  let qty = quantity - Math.floor(quantity / 3);

  return qty * price;
}

totalCost(2, 1);  // 2
totalCost(3, 1);  // 2 (1 mango for free)
totalCost(4, 1);  // 3
totalCost(5, 1);  // 4
totalCost(6, 1);  // 4 (2 mangoes for free)
  • Math.floor(): 가장 가까운 정수로 반내림하고, 결과를 반환한다.

풀이 02

function totalCost(quantity, price) {
  let divider = Math.floor(quantity / 3);
  let remainder = quantity % 3;

  return divider * 2 * price + remainder * price;
}

totalCost(2, 1);  // 2
totalCost(3, 1);  // 2 (1 mango for free)
totalCost(4, 1);  // 3
totalCost(5, 1);  // 4
totalCost(6, 1);  // 4 (2 mangoes for free)