[JavaScript] Lv0 - 간단한 식 계산하기

Moon·2025년 2월 16일
0
post-thumbnail

간단한 식 계산하기

문제 설명

문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.


제한사항

  • 0 ≤ ab ≤ 40,000
  • 0을 제외하고 ab는 0으로 시작하지 않습니다.

입출력 예

binomialresult
"43 + 12"55
"0 - 7777"-7777
"40000 * 40000"1600000000

입출력 예 설명

입출력 예 #1

  • 예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다.

입출력 예 #2

  • 예제 2번의 binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다.

입출력 예 #3

  • 예제 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, // 곱셈 함수
};

코드설명

  1. split 메서드:
    • binomial.split(' ')은 문자열 binomial을 공백을 기준으로 분리하여 [a, op, b] 배열을 생성합니다.
    • 예: "43 + 12"["43", "+", "12"].
  2. 객체 기반 연산자 매핑:
    • ops 객체는 연산자(op)를 키로 사용하고, 해당 연산을 수행하는 함수를 값으로 저장합니다.
    • 예: "+" 키에 대한 값은 (a, b) => a + b.
  3. 계산 수행:
    • ops[op]op에 해당하는 함수를 가져옵니다.
    • ops[op](+a, +b)는 문자열 ab를 숫자로 변환(+a, +b)한 뒤 해당 연산자를 적용합니다.
  4. 결과 반환:
    • 계산된 값을 반환합니다.
profile
MOON.DEVLOG

0개의 댓글