expressionMatter.js (8kyu 86)
Codewars 알고리즘 풀이
Problem
- Given three integers ‘a’, ‘b’, ‘c’, return the largest number obtained after inserting the following operators and brackets: +, *, ()
- 주어진 세 개의 정수 ‘a’, ‘b’, ‘c’에 +, * 연산자와 괄호 ()를 삽입한 후, 가장 큰 수를 반환한다.
Solution 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()
메소드값이 가장 큰 수를 반환한다.
Solution 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