🧬알고리즘/Programmers

[JavaScript] 간단한 식 계산하기

뉴발자 2024. 6. 13. 18:32
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

문제

문자열 binomial이 매개변수로 주어진다.

 

binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나이다.

 

주어진 식을 계산한 정수를 반환하는 함수를 작성해라.

 

 

예시

binomial result
"43 + 12" 55
728x90

 

 

나의 풀이

const solution = (b) => eval(`${b.split(" ")[0]} ${b.split(" ")[1]} ${b.split(" ")[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);
}

 

 

비고

eval() 함수는 문자열을 연산식으로 바꿔주는 함수이지만, 여러 가지 이슈로 인해 사용을 금지하고 있다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/eval#%EC%8B%9C%EB%8F%84%ED%95%B4%EB%B3%B4%EA%B8%B0

 

eval() - JavaScript | MDN

eval() 은 문자로 표현된 JavaScript 코드를 실행하는 함수입니다.

developer.mozilla.org

 

 

 

 

 

 

 

 

 

 

728x90