AdventOfCodeSolutions/2023/Day2/part2.js

26 lines
764 B
JavaScript
Raw Normal View History

2024-11-30 00:06:12 -05:00
#!/usr/bin/env node
var fs = require('fs');
var games = fs.readFileSync('input.txt','utf8').split('\n').filter(i=>i).map(i=>i.split(':').pop()).map(i=>i.split(';')).map(i=>i.map(i=>i.split(','))).map(i=>i.map(i=>i.map(i=>i.split(' ').filter(i=>i))));
var maxes = {
red:12,
green:13,
blue:14
};
//var sum=0;
//for(var gameid=1;gameid<=games.length;++gameid) {
// var game = games[gameid-1];
// var bad = game.some(sample=>sample.some(([count,color])=>count>maxes[color]));
// if(!bad) sum+=gameid;
//}
var allpower = games.reduce((acc,game)=>{
var base={red:0,blue:0,green:0};
game.forEach(sample=>sample.forEach(([count,color])=>base[color]=Math.max(base[color],count)));
return acc+base.red*base.blue*base.green;
},0);
console.log('Result:',allpower);