Advent of Code 2022: Kickoff (HQ)

Tribe Front-end/Mobile, Tribe Java, Tribe Microsoft
HQ
28 november, 19:00 - 21:00
Nog plaatsen over

Omschrijving

Het is weer bijna zover! In december is Advent of Code. Een adventkalender met programmeerproblemen op elke dag van 1 t/m 25 december.

Vanuit Team Rockstars hebben vorig jaar best een aantal mensen meegedaan. Daarom is ergens halverwege bedacht dat we er een competitie van zouden maken, die dat jaar overtuigend gewonnen is door Yorrick Spierings!

Ook dit jaar gaan we er weer een competitie van maken. Op maandag 28 november is de kickoff, digitaal op Teams en op HQ.

17:30 – 18:00 -> Inloop
18:00 – 19:00 -> Eten
19:00 – 19:30 -> Introductie Advent of Code / Competitie / Prijs
19:30 – 20:00 -> Making participation easier / general tooling
20:00 – 21:00 -> Workshop: Solving an Advent of Code problem

21:00 – Einde -> Drinks!

Wat voor soort programmeerproblemen moet je dan oplossen? Een voorbeeld:

De voortplanting van een school lantaarnvissen werkt als volgt:
1. Iedere lantaarnvis produceert elke 7 dagen een nakomeling;
2. Deze cyclus is niet gelijk voor iedere lantaarnvis;
3. De eerste nakomeling van een nieuwe lantaarnvis wordt pas na 9 dagen geproduceerd;

Gegeven is een lijstje met vissen en hoeveel dagen het duurt tot ze een nakomeling produceren, bijv: “3, 4, 3, 1, 2”. Hoeveel vissen zijn er na 80 dagen. In het voorbeeld zijn dat er 5934.

De echte input is uiteraard groter. In mijn geval was het antwoord rond de 350.000.

Er zijn verschillende manieren om dit probleem te modelleren en op te lossen. De meest voor de hand liggende is om iedere vis individueel te simuleren. Met een totaal van ~350k is dat prima te doen.

Je maakt een implementatie waarbij je van elke vis bijhoudt waar de vis in z’n cyclus is. Je krijgt voor de voorbeeldinput het goede antwoord. Je voert je programma uit voor de echte input en vult het antwoord in. Goed!

Deel twee:

Ervan uitgaande dat lantaarnvissen nooit sterven, hoeveel vissen zijn er na 256 dagen? In het voorbeeld zijn dat er 26.984.457.539.

Wellicht tegen beter weten in verander je het getal 80 in 256 in je oplossing en voert je programma opnieuw uit.

Je haalt een koffie. Als je terugkomt, is er nog geen output. Je gaat aan iets anders werken. Het wordt lunchtijd. Ook na de lunch, nog geen output. Je blijft wachten. Het wordt morgen. Een week later, nog steeds zonder output, geef je op, Er moet een betere manier zijn.

Die betere manier is er. Deze wordt besproken tijdens de workshop.

Reacties

Special Agent

Vergelijkbare events

22 april, 09:00

Team Rockstars Presents Tribe Week:

Algemeen
0 Spots
22 april, 09:00

Team Rockstars Presents Tribe Week:

Tribe Java
0 Spots
23 april, 09:00

Team Rockstars Presents Tribe Week

Tribe Cloud & DevOps, Tribe Data and AI
2 Spots