문자열 binomial
이 매개변수로 주어집니다. binomial
은 "a
op
b
" 형태의 이항식이고 a
와 b
는 음이 아닌 정수, op
는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
function solution(binomial) {
const arr = binomial.split(' ');
switch(arr[1]) {
case '+':
return parseInt(arr[0]) + parseInt(arr[2]);
case '-':
return parseInt(arr[0]) - parseInt(arr[2]);
case '*':
return parseInt(arr[0]) * parseInt(arr[2]);
}
}
function solution(binomial) {
const arr = binomial.split(' ');
if (arr[1] === '+') return parseInt(arr[0]) + parseInt(arr[2]);
if (arr[1] === '-') return parseInt(arr[0]) - parseInt(arr[2]);
if (arr[1] === '*') return parseInt(arr[0]) * parseInt(arr[2]);
}
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);
}
const ops = {
'+': (a, b) => a + b,
'-': (a, b) => a - b,
'*': (a, b) => a * b,
};
ops
는 연산자를 키(key)로, 해당 연산자에 대한 함수를 값(value)으로 가진다.'+'
키에는 두 숫자의 합을 반환하는 함수가 연결되어 있다.'-'
키에는 첫 번째 숫자에서 두 번째 숫자를 뺀 값을 반환하는 함수가 연결되어 있다.'*'
키에는 두 숫자의 곱을 반환하는 함수가 연결되어 있다.const [a, op, b] = binomial.split(' ');
binomial.split(' ')
의 결과를 a
, op
, b
로 분할한다.return ops[op](+a, +b);
ops
객체의 op
키에 해당하는 함수를 호출한다.+a
와 +b
는 문자열 a
와 b
를 숫자로 변환한다.