Aritmética

    Historia:

    Durance se cansó de aprender hechizos y clasificar bolsas y decidió invertir en papicoins, la criptomoneda más reciente (no lo juzgamos por ello). Para hacerlo, tiene que aprender a leer los registros de las transacciones. Durance nos ha prometido un porcentaje de los beneficios, así que ¡ayudemosle!

    Descripción

    Crea una aplicación que ayude a Durance a leer las transacciones de la criptomoneda. Las transacciones son operaciones aritméticas que van entre paréntesis. En caso de que un registro no sea válido, debemos hacérselo saber a Durance con un mensaje de error: 'Invalid record error'.

    Reglas

    • Todas las operaciones van entre paréntesis
    • Debe haber un número par de paréntesis 
    • Los espacios pueden considerarse separadores (para ayudar a identificar los números negativos)
    • Si sólo se proporcionan paréntesis, la aplicación debe devolver un 0 (teniendo en cuenta las demás reglas)
    • Las operaciones deben seguir las reglas de precedencia PEMDAS (Paréntesis, Exponentes, Multiplicación/División, Adición/Sustracción).


    Ejemplos


    ( 1 + ( ( 2 + 3 ) * (4 * 5) ) ) -> 101
    ( 5 * ( 4 * ( 3 * ( 2 * ( 1 * 9 ) / 8 - 7 ) + 6 ) ) ) -> -165
    ((()())) -> 0
    3 + ( 2 * 1 ) -> Invalid record error