【中等】算法nodeJs:四则运算

74 阅读1分钟

描述

对于输入的表达式,保证其形式合法、计算过程中全程合法、计算过程中不需要使用到实数、结果 ans 满足 −103≦ans≦103 。直接输出计算结果。

保证表达式字符串由 0−9 的数字、加法 ‘+’ 、减法 ‘-’ 、乘法 ‘*’ 、除法 ‘/’ 、小括号 ‘(’,‘)’ 、中括号 ‘[’,‘]’ 、大括号 ‘{’,‘}’ 组成,且运算符之间没有空格。

输入描述:

输入一个长度为 1≦len(s)≦103 、由题面所述符号构成的字符串,代表一个表达式。

输出描述:

输出一个整数 ans ,代表计算的答案。满足 −103≦ans≦103 。

image.png

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    line = await readline();
    let result = line.replace(/[\[\{]/g, '(').replace(/[\]\}]/g, ')')
    console.log(eval(result));
})();