Skip to content

Commit 0b413cc

Browse files
committed
add day7 part1
1 parent 9afd1d6 commit 0b413cc

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

2023.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
// d1 p1
44

5-
eval($('*').innerText.trim().split`\n`.map(d=>(q=d.replace(/[^\d]/g,''),q[0]+q.at(-1))).join`+`)
5+
$('*').innerText.trim``.split`\n`.reduce((a,d)=>a+ +(q=d.replace(/[^\d]/g,[]),q[0]+q.at(-1)),0)
66

77
// d1 p2
88

9-
n=`_|one|two|three|four|five|six|seven|eight|nine`,a=0,$('*').innerText.trim().split`\n`.map(t=>(s=[...t].map((a,i)=>(q=n.split`|`.indexOf(t.match(RegExp(`^.{${i}}(${n})`))?.[1]),~q?q:1/a?a:[])).join``,a+=+(s[0]+s.at(-1)))),a
9+
n=`_|one|two|three|four|five|six|seven|eight|nine`,a=0,$('*').innerText.trim``.split`\n`.map(t=>(s=[...t].map((a,i)=>(q=n.split`|`.indexOf(t.match(RegExp(`^.{${i}}(${n})`))?.[1]),~q?q:1/a?a:[])).join``,a+=+(s[0]+s.at(-1)))),a
1010

1111
// d2 p1
1212

13-
$('*').innerText.trim().split`\n`.reduce((A,d,i)=>A+=d.replace(/.+: /,[]).split(';').every(d=>!d.replace(/ ?(\d+) (\w+),? ?/g,(_,a,[b])=>({r:13,g:14,b: 15}[b]>a&&[])))?i+1:0,0)
13+
$('*').innerText.trim``.split`\n`.reduce((A,d,i)=>A+=d.replace(/.+: /,[]).split(';').every(d=>!d.replace(/ ?(\d+) (\w+),? ?/g,(_,a,[b])=>({r:13,g:14,b: 15}[b]>a&&[])))?i+1:0,0)
1414

1515
// d2 p2
1616

17-
$('*').innerText.trim().split`\n`.reduce((e,n)=>(x={r:0,g:0,b:0},n.replace(/(\d+) (\w)/g,(_,n,r)=>{x[r]=n>+x[r]?n:x[r]}),e+x.r*x.g*x.b),0)
17+
$('*').innerText.trim``.split`\n`.reduce((e,n)=>(x={r:0,g:0,b:0},n.replace(/(\d+) (\w)/g,(_,n,r)=>{x[r]=n>+x[r]?n:x[r]}),e+x.r*x.g*x.b),0)
1818

1919
// d3 p1
2020

@@ -36,7 +36,7 @@ c=0,(R=i=>{i.map(([i,l,n])=>{c++,R(A.slice(n,n+l.filter?.(l=>i.includes(l)).leng
3636

3737
a=9e9,I=$('*').innerText,M=I.match(/p:\n([\s\S]+?)(\n\n|$)/g).map(d=>d.match(/(\d+ ?){3}/g));I.split`\n`[0].match(/\d+/g).map(s=>{M.map(m=>(s=+s,m.some(A=>([D,S,L]=A.split` `,s>=+S&&+S+ +L>s?s=s-+S+ +D:0)))),a>s?a=s:0});a
3838

39-
// d5 p2
39+
// d5 p2 (takes a few hours)
4040

4141
a=9e9,I=$('*').innerText,M=I.match(/p:\n([\s\S]+?)(\n\n|$)/g).map(s=>s.match(/(\d+ ?){3}/g)),I.split`\n`[0].match(/\d+ \d+/g).map(n=>{for([n,l]=n.split` `,i=l;i--;)s=+n+i,M.map(a=>a.some(a=>([D,S,L]=a.split` `,s>=+S&&+S+ +L>s?s=s-+S+ +D:0))),a>s?a=s:0}),a
4242

@@ -46,4 +46,8 @@ for(I=$('*').innerText.match(/\d+/g),A=1,q=4;q--;){for(n=+I[q],D=+I[q+4],v=0,i=n
4646

4747
// d6 p2
4848

49-
for(I=$('*').innerText.replace(/[^\d\n]/g,[]).split`\n`,v=0,i=I[0];i--;(I[0]-(i+1))*(i+1)>I[1]?v++:0)v
49+
for(I=$('*').innerText.replace(/[^\d\n]/g,[]).split`\n`,i=I[v=0];i--;v+=((I[0]-(i+1))*(i+1)>I[1]))v
50+
51+
// d7 p1
52+
53+
eval(unescape(escape`󙌨󘬪󘬩󛭩󫭮󩝲󥍥󮍴󛭴󬭩󫝠󨌮󬽰󫍩󭍠󧍮󨌮󫝡󬌨󪜽󟭻󩭯󬬨󨼠󪝮󦽨󛍢󧜽󪜮󬽰󫍩󭍠󘍠󛍲󟜰󛍍󟝻󯜬󦼮󛬮󪍝󛭭󨝰󚍲󟜾󣝛󬭝󟝍󦽲󧜿󣝛󬭝󚼱󞬱󚜬󣜩󨼽󣝛󨽝󛍣󟬳󟽲󟝣󚼱󞭣󟬲󟽲󟝲󟼴󞬳󞭣󟬱󙬦󚍲󟬲󟽲󟜴󞭲󟝲󟼲󞬱󚜻󬭥󭍵󬭮󦽛󛬮󛭨󧜮󫝡󬌨󬬽󟬢󜬳󝌵󝬷󞌹󥍊󤝋󠜢󛭩󫭤󩝸󣽦󚍲󚜩󛍲󛍢󧝽󚜮󬽯󬭴󚌨󦽲󛍮󧜬󦽣󛍥󧜩󟜾󫬽󟝥󟼨󪜽󨼮󩭩󫭤󢝮󩍥󮌨󚍩󛍮󚜽󟭩󘜽󬭛󫭝󚜬󬭛󪝝󛝣󦽩󧜩󞭮󛝥󚜮󬭥󩍵󨽥󚌨󬬬󦼬󛍩󧜬󫬩󟜾󬬫󪜪󚍮󚼱󚜬󜌩`.replace(/u../g,'')))

0 commit comments

Comments
 (0)