Expressions Matter

Lee·2022년 7월 21일

Algorithm

목록 보기
54/92
post-thumbnail

❓ Expressions Matter

Q. Task
Given three integers a ,b ,c, return the largest number obtained after inserting the following operators and brackets: +, , ()
In other words , try every combination of a,b,c with [
+()] , and return the Maximum Obtained
Example
With the numbers are 1, 2 and 3 , here are some ways of placing signs and brackets:

1 (2 + 3) = 5
1
2 3 = 6
1 + 2
3 = 7
(1 + 2) * 3 = 9
So the maximum value that you can obtain is 9.

Notes
The numbers are always positive.
The numbers are in the range (1  ≤  a, b, c  ≤  10).
You can use the same operation more than once.
It's not necessary to place all the signs and brackets.
Repetition in numbers may occur .
You cannot swap the operands. For instance, in the given example you cannot get expression (1 + 3) * 2 = 8.

✔ Solution

//#my solution
function expressionMatter(a, b, c) {
  let output = [`${a*(b+c)}`, `${a*b*c}`, `${a+b*c}`, `${(a+b)*c}`, `${a+b+c}`];
    return Math.max(...output);
}



//other solution
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,
  );
}
profile
Lee

0개의 댓글