faecher:informatik:oberstufe:java:aoc:aoc2024:day01:start

Day 1: Historian Hysteria

Der Tag 1 ist tatsächlich eine sehr leichte Aufgabe und damit ein perfekter Einstieg für jede/-n in den diesjährigen AoC! Lies dir zunächst die offizielle Aufgabenbeschreibung durch: 2024 - Day 1

Tipps zur Vorgehensweise folgen weiter unten - hier sind zunächst nur wichtige Java-Methoden aufgelistet. Dieser Tag ist so leicht, dass du das auch hinbekommen kannst, ohne viele Tipps zu lesen!

Wichtige Java-Methoden:

  • ArrayList<Integer> varName = new ArrayList(); Eine ArrayList eignet sich am besten, um eine variable Anzahl von Elementen zu speichern. Dies trifft generell immer auf alle AoC-Aufgaben zu (Arrays werden eher selten benötigt). Denke daran, dass du dazu auch ganz oben import java.util.ArrayList; aufrufen musst.
  • Mit folgender for-each Schleife kannst du am einfachsten über jede Zeile der Eingabedatei iterieren: for (String line: inputLines) {…}
  • Mit line.split("…") bekommst du ein Array von Strings zurückgeliefert, dass den ursprünglichen String line an denjenigen Stellen aufgeteilt hat, die im Anführungszeichen stehen. Das String-Element, an dem geteilt wird, verschwindet dabei! Nutze das, um jede Zeile in die linke und rechte Zahl zu splitten. An was für einem String-Element musst du die Trennung durchführen?
  • Mit Integer.parseInt(…) kannst du einen String in einen Integer umwandeln. Damit kannst du pro Schleifendurchlauf folgenden Code verwenden, um an die linke Zahl zu gelangen: Integer.parseInt(line.split("…")[0]) (für die rechte Zahl musst du nur eine Kleinigkeit ändern).
  • Mit liste.add(…) kannst du ein Element zu einer ArrayList namens liste hinzufügen.
  • Mit Collections.sort(liste) kannst du eine unsortierte liste sortieren. Dazu musst du ganz oben import java.util.Collections; aufrufen!

Im Wesentlichen besteht die erste Teilaufgabe aus folgenden einzelnen Schritten:

Vorgehensweise

Lösungsvorschlag

Vorgehensweise

Lösungsvorschlag

  • faecher/informatik/oberstufe/java/aoc/aoc2024/day01/start.txt
  • Zuletzt geändert: 01.12.2024 09:44
  • von Marco Kuemmel