blob: 992da2774dc55d628e8cafdf9f2ee1a6d07cf9f7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
const data = require('./data')
const lines = data.split(/\n/g).filter(Boolean)
const ev = (str) => {
let spl = str.split(' ')
while(spl.length > 1) {
spl = [eval(spl.slice(0, 3).join(''))].concat(spl.slice(3))
}
return spl[0]
}
const evPar = (str) => {
while(/\(/.test(str)) {
str = str.replace(/\(([^()]+)\)/g, (match, par) => ev(par))
}
return ev(str)
}
let sum = 0
lines.forEach(l => sum += evPar(l))
console.log('Answer: ', sum)
|