From 49ea02195d1c960a572eb2d1f8d395eeed79f776 Mon Sep 17 00:00:00 2001
From: Mark Jeeninga <mark.jeeninga@control.lth.se>
Date: Sat, 14 Dec 2024 13:08:58 +0000
Subject: [PATCH] Day 4 Mark

---
 day 4/day_4_mark.js | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 day 4/day_4_mark.js

diff --git a/day 4/day_4_mark.js b/day 4/day_4_mark.js
new file mode 100644
index 0000000..bff557d
--- /dev/null
+++ b/day 4/day_4_mark.js	
@@ -0,0 +1,10 @@
+hor = input.split("\n")
+n = hor.length
+m = hor[0].length
+range = x => [...Array(x).keys()]
+vert = range(m).map(i => range(n).map(j => hor[j][i]).join(''))
+diag1 = range(n+m-1).map(i => range(m).map(j => (hor[i+j+1-m] ? hor[i+j+1-m][j] : '')).join(''))
+diag2 = range(n+m-1).map(i => range(m).map(j => (hor[i-j] ? hor[i-j][j] : '')).join(''))
+
+output1 = [hor, vert, diag1, diag2].map(z=>z.map(x=>[...x.matchAll(/XMAS/g)].length+[...x.matchAll(/SAMX/g)].length).reduce((x,y)=>x+y)).reduce((x,y)=>x+y) 
+output2 = range(n).map(i => range(m).map(j=> hor[i][j] == 'A' ? (hor[i-1] && hor[i+1] ? ((hor[i-1][j-1] == 'M' && hor[i+1][j+1] == 'S') || (hor[i-1][j-1] == 'S' && hor[i+1][j+1] == 'M')) && ((hor[i-1][j+1] == 'M' && hor[i+1][j-1] == 'S') || (hor[i-1][j+1] == 'S' && hor[i+1][j-1] == 'M')) : false) : 0).reduce((x,y)=>x+y)).reduce((x,y)=>x+y) 
\ No newline at end of file
-- 
GitLab