C# :: Aufgabe #378 :: Lösung #2
2 Lösungen

#378
Figur zurück zum Ausgangspunkt
Anfänger - C#
von JKooP
- 02.04.2021 um 08:45 Uhr
Eine Figur bewegt sich auf einer 2D- Spielfläche (Koordinatensysteme). Dabei startet sie an der Position (0, 0).
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.
Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch
Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.
Viel Spaß
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.
Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch
Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.
Viel Spaß
#2

von JKooP (18090 Punkte)
- 19.04.2021 um 18:45 Uhr
NET 5.x; C# 9.x; VS-2019
C#-Code

using System; using System.Collections.Generic; using System.Linq; var lst = new List<string> { "UD", "LURD", "LLDD", "LLUUURDDRD", "LDRRLRUULR" }; lst.ForEach(x => Console.WriteLine($"{x} => {IsSequence(x)}")); static bool IsSequence(string s) { int ct(char c) => s.Count(x => x == c); // lokale Funktion (seit C# 7.0 möglich) return ct('D') == ct('U') && ct('L') == ct('R'); }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1