From 048bb56462de2cee05cb432153f73359b0694d1e Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Mon, 7 Dec 2020 20:03:55 +0000 Subject: [PATCH] Day 7, too big --- day07.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 day07.js diff --git a/day07.js b/day07.js new file mode 100644 index 0000000..85f4a38 --- /dev/null +++ b/day07.js @@ -0,0 +1 @@ +m=new Map,d=$`body`.innerText.trim().split`\n`,d.forEach(a=>{[c,r]=a.split(" bags contain "),b="no other bags."==r?[]:r.split(", ").map(a=>([,q,C]=/(\d+) (.+) bags?\.?/.exec(a),{q:1*q,c:C})),m.set(c,b)}),sg="shiny gold",W=new Set,m.forEach((a,e)=>{a.some(a=>a.c===sg)&&W.add(e)});for(let a;a!==W.size;)a=W.size,m.forEach((a,e)=>{!W.has(e)&&a.some(a=>W.has(a.c))&&W.add(e)});count=a=>0===m.get(a).length?1:m.get(a).reduce((a,e)=>a+e.q*count(e.c),1);[W.size,count(sg)-1]; \ No newline at end of file