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