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() 함수는 문자열을 연산식으로 바꿔주는 함수이지만, 여러 가지 이슈로 인해 사용을 금지하고 있다.
eval() - JavaScript | MDN
eval() 은 문자로 표현된 JavaScript 코드를 실행하는 함수입니다.
developer.mozilla.org
728x90
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 세 개의 구분자 (0) | 2024.06.14 |
---|---|
[JavaScript] 문자열 바꿔서 찾기 (1) | 2024.06.13 |
[JavaScript] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2024.06.13 |
[JavaScript] 특정한 문자를 대문자로 바꾸기 (0) | 2024.06.12 |
[JavaScript] 1로 만들기 (0) | 2024.06.12 |
댓글