aoc2024

advent of code 2024 version unix - retour accueil

git clone git://bebou.netlib.re/aoc2024
Log | Files | Refs |

1.solve (620B)


      1 #! /bin/sh
      2 
      3 echo "part 1"
      4 
      5 mkfifo left 2> /dev/null
      6 < 1.input awk '{print $1}' | sort > left&
      7 < 1.input awk '{print $2}' | sort |
      8 	paste -d'-' left - | grep -Ev '^-$' |
      9 	bc |
     10 	tr -d '-' | paste -s -d'+' |
     11 	bc
     12 
     13 echo "part 2 - fast"
     14 
     15 < 1.input awk '{print $2}' | sort | uniq -c > rightcount
     16 < 1.input awk '{print $1}' | sort | grep -v ^$ > leftc
     17 < rightcount grep -f leftc | awk '{print $1*$2}' | paste -s -d'+' | bc
     18 
     19 echo "part 2 - slow"
     20 
     21 for e in $(< 1.input tr -s ' ' | cut -f1 -d' ');do
     22 	echo "$e * $(grep -E "$e$" rightcount | awk '{print $1}')"
     23 done | sed 's/* $/*0/' | bc | paste -s -d'+' | bc
     24 
     25 rm rightcount leftc