문제

  • 주어진 세 개의 정수 'a', 'b', 'c'에 +, * 연산자와 괄호 ()를 삽입한 후, 가장 큰 수를 반환한다.

풀이 01

function expressionMatter(a, b, c) {
  return Math.max(
    a + b + c,
    a + b * c,
    (a + b) * c,
    a * b * c,
    a * b + c,
    a * (b + c)
  );
}

expressionMatter(2, 2, 2);  // 8
expressionMatter(1, 2, 3);  // 9
  • Math.max(): 값이 가장 큰 수를 반환한다.

풀이 02

function expressionMatter(a, b, c) {
  let values = [
    a + b + c,
    a + b * c,
    (a + b) * c,
    a * b * c,
    a * b + c,
    a * (b + c)
  ];

  return Math.max(...values);
}

expressionMatter(2, 2, 2);  // 8
expressionMatter(1, 2, 3);  // 9