Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:aoc:aoc2022:day2:start [02.12.2022 12:10] – [Ergebnisse] Frank Schiebel | faecher:informatik:oberstufe:java:aoc:aoc2022:day2:start [05.12.2022 20:11] (aktuell) – Frank Schiebel | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
===== Eine Lösung mit HashMaps ===== | ===== Eine Lösung mit HashMaps ===== | ||
+ | Man kann beide Teile lösen indem man die Bedingungen des Spiels als assoziatives Array hinterlegt und die Transformationen von Zügen zu Punkten dann einfach aus dem assoziativen Array ausliest. | ||
+ | |||
+ | [[faecher: | ||
+ | |||
+ | Nun kann man die Spielmechanik für Teil 1 in einer HashMap ablegen und anschließende die Punkte direkt über den Key, den man aus dem Input erhält bestimmen: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ++++ Tipp Teil 1: Codegerüst | | ||
+ | <code java> | ||
+ | [...] | ||
+ | HashMap< | ||
+ | | ||
+ | public day2() throws Exception { | ||
+ | this.readInput(inputFile,' | ||
+ | this.printInput(); | ||
+ | | ||
+ | // Punkte eintragen gemäß Aufgabenstellung | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | roundScore.put(" | ||
+ | } | ||
+ | | ||
+ | public int partOne() { | ||
+ | int score=0; | ||
+ | for(String[] line: input) { | ||
+ | // Die Zeilen werden am Leerzeichen getrennt eingelesen | ||
+ | String game=line[0] + line[1]; | ||
+ | System.out.println(game); | ||
+ | score += // Wie kann man nun den Score aus der HashMap lesen? | ||
+ | System.out.println(score); | ||
+ | } | ||
+ | |||
+ | return score; | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ++++ Tipp Teil 2. " | ||
+ | Im Prinzip ändert sich in Teil 2 nichts, man benötigt lediglich eine zweite HashMap, die abbildet, welcher Zug ausgeführt werden muss: | ||
+ | |||
+ | {{ : | ||
+ | ++++ | ||
+ | |||
+ | ++++ Lösungsvorschlag | | ||
+ | https:// | ||
+ | ++++ |