Advent of Code 2023 – Tag 8

Tag 8? Jetzt ist Massimo komplett durcheinander. Nicht direkt. Ich war am Wochenende komplett nicht zu gebrauchen und habe es kränkelnd im Bett verbracht. An Freitag habe ich es jedoch nicht geschafft den Tag abzuschließen. Heute habe ich dafür Tag 8 beendet und Tag 9 auch. Aber dazu morgen mehr.

Tag 8 hat mir sehr viel beigebracht. Ich habe mich in den letzten Beiträgen ja immer wieder wegen der umständlichen Stringverarbeitung beschwert. Auf der Suche nach einer besseren Lösung bin ich auf diesen Medium Artikel gestoßen. Und ich frage mich, warum ich nicht schon früher danach gesucht habe. Das ist der ganze Zauber.

line := strings.FieldsFunc(x, func(r rune) bool {
  if r == '=' || r == '(' || r == ')' || r == ',' || r == ' ' {
    return true
  }
  return false
})

Und während Teil 1 wieder durch eine einfache Iteration zu lösen war, so scheiterte diese Lösung bei Teil 2. Trotz dass das Programm 10 Millionen Iterationen in 3 Sekunden duchfürht reicht es nicht aus Da hilft also nur Mathematik. Und so musste ich mein Wissen über den kleinsten gemeinsame Multiplikator und größten gemeinsamen Teiler wieder auffrischen.
Tag 8 war knackig hat aber echt Spaß gemacht.

Und falls ihr euch anschließen wollt. Hier der Einladungscode zu meinem Leaderboard: 1204843-3e53d471

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert