알고리즘 18 - Basic Mathematical Operations

jabae·2021년 10월 16일
0

알고리즘

목록 보기
18/97

Q.

Your task is to create a function that does four basic mathematical operations.

The function should take three arguments - operation(string/char), value1(number), value2(number).
The function should return result of numbers after applying the chosen operation.

Examples

basicOp('+', 4, 7) // Output: 11
basicOp('-', 15, 18) // Output: -3
basicOp('*', 5, 5) // Output: 25
basicOp('/', 49, 7) // Output: 7

A)

function basicOp(operation, value1, value2)
{
  if (operation ==='+') return value1 + value2;
  if (operation ==='-') return value1 - value2;
  if (operation ==='*') return value1 * value2;
  if (operation ==='/') return value1 / value2;
  return 0;
}

other

다른 솔루션을 보다가 eval메소드를 발견했다! 아니 이렇게 간결하게 풀 수가... eval에 대해서 더 찾아보려다가 mdn에 아주 노랗게 주의 표시가 있었다.
주의: 문자열로부터 eval()을 실행하는 것은 엄청나게 위험합니다. eval()을 사용하면 해커가 위험한 코드를 사용할 수 있습니다. 아래에 eval을 절대 사용하지 말 것!을 확인하세요.
흠 사용하지 말도록 하자.🤨

function basicOp(operation, value1, value2)
{
  return eval(value1 + operation + value2);
}

그 밖에 if와 비슷하게 swith case로도 풀 수 있다.

function basicOp(operation, value1, value2)
{
  switch (operation) {
  case('+') : return value1 + value2;
  case('-') : return value1 - value2;
  case('*') : return value1 * value2;
  case('/') :  return value1 / value2;
  default : return 0;
  }
}
profile
it's me!:)

0개의 댓글