문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
제한사항
function solution(binomial) {
let arr = binomial.split(' ');
return arr.filter((v) => !isNaN(v)).map((v) => Number(v))
.reduce((a, c) => {
if(arr[1] === '+') return a += c;
else if(arr[1] === '-') return a -= c;
else return a *= c;
})
}
const ops = {
'+': (a, b) => a + b,
'-': (a, b) => a - b,
'*': (a, b) => a * b,
};
function solution(binomial) {
const [a, op, b] = binomial.split(' ');
return ops[op](+a, +b);
}
ops[op](+a, +b)
→ 해당 연산자를 키로 갖는 함수를 호출하고, 문자열을 숫자열로 변환하여 각 인자로 넣어주어 계산한다. function solution(binomial) {
const [a,ex,b] = binomial.split(" ");
return (ex === "+")? +a+ +b : (ex === "-")? a - b : a*b
}