Blog

Advent des Codes, Tag 5: S(a|i)nt(a|erkl(a){2}s)

Jochem Schulenklopper

Aktualisiert Oktober 21, 2025
4 Minuten

Bisher gab es in jeder Saison von Advent of Code eine Geschichte rund um den Weihnachtsmann, wobei der Osterhase manchmal einen Gastauftritt hatte. Am 5. Dezember taucht in den Niederlanden eine andere legendäre Figur auf: Sinterklaas. Eigentlich ist der moderne Weihnachtsmann aus den Traditionen um den historischen Nikolaus von Myra entstanden, auf dem auch die niederländische Figur des Sinterklaas basiert. Jedenfalls verbringen die Menschen in den Niederlanden vor allem am Abend des 5. Dezember Zeit mit Freunden und Familie, schreiben Gedichte, verpacken Geschenke in allerlei Kunsthandwerk und tauschen Geschenke aus.

Was hat das alles zu bedeuten? Nun, für einige Kollegen - und insbesondere für diejenigen mit Kindern - bedeutet es, dass weniger Zeit zur Verfügung steht, um die heutige Aufgabe zu lösen. Lassen Sie uns also zunächst einen Tag zurückblicken.

L(o){2}king(s)back2t12Tage4

Als ich einen Kollegen am 3. Dezember nach seinen Vorhersagen für das Rätsel von Tag 4 fragte, antwortete er:

Also a fearless regex wizard will bundle all their power into one expression to defeat the code of the ancient one. #justsayin #AdventOfCode #XebiaAoC Twitter Status von NakedN3rd

Meine Antwort war eine Variation eines berühmten Zitats von Jamie Zawinski:

Some people at #XebiaAoC, when confronted with an #AdventOfCode problem, think "I know, I'll use regular expressions." Now they have two problems. Twitter Status von jschulenklopper

Mein Kollege brauchte mich nur an das Advent of Code-Rätsel vom 7. Dezember 2016 zu erinnern, das er mit einem verblüffend regulären Ausdruck löste: /([a-z])((?!1)[a-z])(?=1)(?=[a-z][][a-z]212)/.

Da mir das regelmäßig und ausdrucksstark auf die Nerven geht, habe ich mich entschlossen, zumindest einen regulären Ausdruck in meine Lösung für Tag 4 und in die Überschriften in diesem Beitrag einzubauen.

Benötigen Sie übrigens einen Online-Prüfer und Debugger für reguläre Ausdrücke? Ich fand RegExr und Regular Expressions 101 sehr praktisch.

Tage[^012346789]

Die heutige Aufgabe baute auf dem Intcode-Computer von Tag 2 auf. Für die teilnehmenden Kollegen von Xebia und XebiaLabs war das kein Problem, auch wenn sich einige von ihnen über die Länge des heutigen Rätseltextes, die Notwendigkeit des sorgfältigen Lesens und die für die Fertigstellung des Programms erforderliche Zeit beschwerten. Hoffen wir, dass es morgen ein kürzeres Rätsel gibt.

Ich muss noch mit der Lösung von Tag 5 beginnen. Ich denke, dass ich mir dabei "Mercury" von Bloc Party anhören werde - der Planet wird im Rätseltext erwähnt. Der Hinweis auf Merkur in dem Song bezieht sich auf die Zeiten, in denen der Planet sich scheinbar in die entgegengesetzte Richtung dreht. In einigen Kulturen gilt diese rückläufige Bewegung als Zeichen für Kommunikationsschwierigkeiten... wie passend für den heutigen Text.

Advent des Codes 2019 Serie

Verfasst von

Jochem Schulenklopper

Contact

Let’s discuss how we can support your journey.