Add 2024/day3/part2.js
This commit is contained in:
parent
73ab191d64
commit
c68d7fd09b
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var content = require('fs').readFileSync(process.argv[2],'utf8');
|
||||
//content = `do()${content}don't()`;
|
||||
//var doregex = /do\(\).+don't\(\)/g
|
||||
var mulregex = /mul\((\d{1,3}),(\d{1,3})\)/g
|
||||
var numregex = /\d+/g
|
||||
|
||||
//var blocks = content.match(doregex);
|
||||
|
||||
function content2sum(content) {
|
||||
var muls = content.match(mulregex);
|
||||
var sum=0;
|
||||
for(var mul of muls) {
|
||||
var digits = mul.match(numregex);
|
||||
var values = digits.map(i=>parseInt(i));
|
||||
//console.log({digits,values});
|
||||
sum+=values[0]*values[1];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
var sum=content.split('do()').map(i=>i.split("don't()")[0]).map(content2sum).reduce((a,b)=>a+b);
|
||||
|
||||
|
||||
console.log('Result:',sum);
|
Loading…
Reference in New Issue