aboutsummaryrefslogtreecommitdiff
path: root/2016/04/puzzle-1.sh
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2022-12-05 21:29:43 +0100
committerThomas Voss <mail@thomasvoss.com> 2022-12-05 21:29:43 +0100
commit86071ef703bd3e3cd55a4ca93668d157d1941363 (patch)
treea807ca0aaea74a26fd04af6432e8db1f6ada79bc /2016/04/puzzle-1.sh
parent04197d46e899873af5478b4d5ccaf1579fe0b6f8 (diff)
Add 2016 day 4 solutions
Diffstat (limited to '2016/04/puzzle-1.sh')
-rwxr-xr-x2016/04/puzzle-1.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/2016/04/puzzle-1.sh b/2016/04/puzzle-1.sh
new file mode 100755
index 0000000..67ccb7c
--- /dev/null
+++ b/2016/04/puzzle-1.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# This is slow, but it’s fun! That’s what counts!
+
+while IFS='[]' read -r line cksum; do
+ sid=`echo $line | grep -o '[0-9]*'`
+ echo $line \
+ | tr -d -- '-0-9\n' \
+ | sed 's/./&\n/g' \
+ | sort \
+ | uniq -c \
+ | sort -k1nr \
+ | head -n5 \
+ | awk "{ s = s \$2 } END { if (s == \"$cksum\") print $sid }"
+done <input | awk '{ s += $0 } END { print s }'