RTLV 4 - Anfängerfehler und meine bisher schlechteste Runde überhaupt

Blog

RTLV 4 - Anfängerfehler und meine bisher schlechteste Runde überhaupt

Ausgangslage und Fallbeschreibung

Am 23.04.2026 war die 4. Runde der Road to Las Vegas. Ich bin als Weltranglistenerster ins Rennen gestartet und hatte entsprechend hohe Erwartungen. Doch es lief komplett anders als geplant.

Im Fall ging es um einen Snackautomaten. Im Endeffekt ging es darum, Bestellungen abzuarbeiten, die in unterschiedlichen Formaten vorlagen. Das Video zeigte bereits, wie die Daten aufbereitet waren, sodass man vor dem Start des Timers überlegen konnte, wie man sie ausliest.

Der Automat war in Excel-Zellen abgebildet. Ein Produkt hatte drei Zeilen: einen Produktcode, darüber ein Icon und darunter den Preis. Gegeben waren in einer Tabelle der Produktcode, der Produktname und die Produktkategorie. Icon und Preis musste man sich dazu holen. Das ist relativ einfach: Wenn die Range des Automaten einem Produkt entspricht, nimmt man die Adresse und geht dann eine Zeile nach oben bzw. unten für Icon und Preis.

Die ersten vier Level

Mit dieser Vorarbeit konnte man gut durchstarten. Level 1 war ein einfacher Verweis: Ein Code war gegeben und man sollte den Produktnamen ausgeben. Level 2 war ebenfalls nur ein Verweis: Für einen Produktnamen sollte das Icon ausgegeben werden. Level 3 war eine Summe auf Basis eines Verweises: Fünf Produkte waren gegeben und man sollte die Summe der Preise berechnen.

Level 4 war etwas anders. Hier hatte man von jedem Produkt zehn Stück im Automaten und zusätzlich Verkäufe. Gesucht war das Produkt, das zuerst ausverkauft ist. Mit einem Modell kann man einfach ZÄHLENWENNS in Verbindung mit gemischten Bezügen nutzen: ZÄHLENWENNS(OberstesElement:AktuellesElement;AktuellesElement), z. B. ZÄHLENWENNS($J$184:J185;J185). Damit zählt man die Anzahl des aktuellen Elements im Bereich von J184 bis zur aktuellen Zeile. Per Verweis holt man sich dann das Element mit zehn Treffern und daraus den Namen.

Ich habe es etwas anders gelöst, aber die Idee war gleich. Statt ZÄHLENWENNS habe ich MAP über eine SEQUENZ verwendet und in jeder Iteration die ersten X Zeilen übernommen und geprüft, ob sie dem aktuellen Element entsprechen. Gleiche Logik, nur dynamischer.

Damit hatte ich vier Level in wenigen Minuten gelöst und dachte, es sei ein sehr einfacher Fall.

Level 5: Der Knackpunkt

Dann kam Level 5: ein String, z. B. A11ENTERB24DELETE3ENTEREDELETED41ENTER.

Im Endeffekt ist A11 ein Produktcode. ENTER bestätigt den Kauf. Danach kommt B24, aber DELETE entfernt das letzte Zeichen, also die 4, und danach kommt die 3. Das heißt, wir kaufen B23 mit ENTER. Danach kommt DELETE, aber es ist nichts zu löschen, also ist das letzte gekaufte Produkt D41.

Hier hatte ich keine einfache Idee. Ich hatte zwar eine Lösung im Kopf, dachte aber, dass es nicht sein kann, in Medium so etwas Komplexes zu bauen. Das war der Moment, in dem ich meinen Run zerstört habe. Ich habe meine funktionierende, aber komplexe Idee verworfen und nach einer einfacheren gesucht. Dabei habe ich mich komplett verrannt und bin dann zu Level 6 weitergegangen.

Level 6 und 7

In Level 6 sollte man den Gesamtwert der Bestellungen berechnen. Die Liste bestand aus Personen mit Lieblingsprodukten. Wenn das Lieblingsprodukt verfügbar ist, wird es gekauft, sonst das nächstliebste. Jeder hatte drei Produkte; wenn keines verfügbar ist, wird nichts gekauft.

Hier konnte man einfach den Bestand modellieren. Ich habe ein REDUCE mit vollem Lagerbestand genutzt und bin die Personen durchgegangen. Das jeweils gekaufte Produkt wurde um 1 reduziert. Am Ende hatte ich die Restbestände und konnte (Startbestand − Restbestand) * Preis rechnen. Das war wieder einfach.

Level 7 war ebenfalls einfach. Es ging um Bestellungen und Geld: Produkt und eingeworfene Münzen waren gegeben. Gesucht war, wie viele Münzen am Ende im Automaten sind. Da Münzen laut Aufgabe nie ausgehen, musste man keinen Bestand modellieren, sondern nur Zu- und Abflüsse berechnen.

Wichtig war der Hinweis auf Rundung. Excel speichert Zahlen nicht exakt dezimal, wodurch Rundungsprobleme entstehen können. Ich habe berechnet, wie viele Münzen eingeworfen wurden und wie viel bezahlt werden musste. Die Differenz war das Rückgeld, das man auf Münzen verteilen musste.

Die Formel zur Aufteilung von 4,60 € auf 1 €, 50 ct, 10 ct und 5 ct:

=GANZZAHL(HSTAPELN(4,6;WEGLASSEN(SCAN(4,6;{1.0,5.0,1.0,05};REST);;-1))/{1.0,5.0,1.0,05})

Das Problem: Aufgrund von Floating-Point-Abweichungen kam ein falsches Ergebnis heraus. Korrekt funktioniert es, wenn man alles mit 100 multipliziert und auf ganze Zahlen geht:

=GANZZAHL(HSTAPELN(460;WEGLASSEN(SCAN(460;{100.50.10.5};REST);;-1))/{100.50.10.5})

Dadurch war mein Level 7 komplett falsch.

Bonusaufgaben und Ergebnis

Danach bin ich zu den Bonusaufgaben gegangen und konnte die ersten vier lösen – habe sie aber nicht in die Plattform kopiert. Bonus 5 war falsch wegen Level 7. Danach bin ich zurück zu Level 5 und habe es endlich gelöst, diesmal mit einem Modell statt Single-Cell. Es funktionierte, aber ich war zu langsam. Zusätzlich gab es Probleme mit Datentabellen, die nicht berechnet wurden. Ein Umstellen auf Formeln war dann nicht mehr rechtzeitig möglich.

Am Ende konnte ich meine Bonusaufgaben nicht mehr einreichen, vermutlich wegen eines Tastaturproblems.

Ergebnis: keine Bonuspunkte und nur Level 1-4 und 6 korrekt. Level 5 und 7 zwar gelöst, aber falsch oder nicht skalierbar.

Mein Learning

Ich habe unter Zeitdruck nach einer besseren Lösung gesucht, obwohl ich bereits eine funktionierende hatte. Es geht nicht darum, die beste Lösung zu finden, sondern eine funktionierende. Außerdem hätte ich bei Level 7 sofort an Floating-Point-Probleme denken und alles mit 100 skalieren sollen. Und: gelöste Aufgaben immer sofort einreichen.

Am Ende war ich nicht mehr in den Top 100. Mit Abstand meine schlechteste Runde. Es nervt, aber die Learnings sind klar: ruhiger bleiben, schneller entscheiden, Fehler akzeptieren und weitermachen.

Zurück zum Blog