
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
a, b ≤ 40,000a, b는 0으로 시작하지 않습니다.| binomial | result |
|---|---|
| "43 + 12" | 55 |
| "0 - 7777" | -7777 |
| "40000 * 40000" | 1600000000 |
입출력 예 #1
binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다.입출력 예 #2
binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다.입출력 예 #3
binomial은 "40000 * 40000"으로 이 식을 계산한 결과인 40000 × 40000 = 1600000000을 return 합니다.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, // 곱셈 함수
};
split 메서드:binomial.split(' ')은 문자열 binomial을 공백을 기준으로 분리하여 [a, op, b] 배열을 생성합니다."43 + 12" → ["43", "+", "12"].ops 객체는 연산자(op)를 키로 사용하고, 해당 연산을 수행하는 함수를 값으로 저장합니다."+" 키에 대한 값은 (a, b) => a + b.ops[op]은 op에 해당하는 함수를 가져옵니다.ops[op](+a, +b)는 문자열 a와 b를 숫자로 변환(+a, +b)한 뒤 해당 연산자를 적용합니다.