Menu
Coddy logo textTech

Muster-Finder

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 87 von 88.

challenge icon

Aufgabe

Einfach

Lies einen String aus der Eingabe und finde das kleinste sich wiederholende Muster, das den gesamten String bildet.

Ein gültiges Muster muss:

  • Eine Länge haben, die die Gesamtlänge des Strings gleichmäßig teilt
  • Wenn es entsprechend oft wiederholt wird, den ursprünglichen String exakt wiederherstellen

Wenn der String aus einem sich wiederholenden Muster besteht, gib dieses kleinste Muster aus. Wenn kein sich wiederholendes Muster existiert, gib den ursprünglichen String aus.

Um zu prüfen, ob ein Muster funktioniert, kannst du die String-Multiplikation verwenden: pattern * count erstellt einen neuen String, indem das Muster wiederholt wird.

Wenn die Eingabe zum Beispiel abcabcabc ist, sollte die Ausgabe wie folgt lauten:

abc

Wenn die Eingabe xyxyxyxy ist, sollte die Ausgabe wie folgt lauten:

xy

Wenn die Eingabe aaaa ist, sollte die Ausgabe wie folgt lauten:

a

Wenn die Eingabe hello ist, sollte die Ausgabe wie folgt lauten:

hello

Wenn die Eingabe abcdef ist, sollte die Ausgabe wie folgt lauten:

abcdef

Probier es selbst

# Liest den Eingabestring ein
s = gets.chomp

# TODO: Schreibe deinen Code unten
# Finde das kleinste sich wiederholende Muster, das den gesamten String bildet
# Hinweis: Überprüfe Musterlängen, die die Stringlänge ohne Rest teilen
# Verwende String-Multiplikation (Muster * Anzahl), um zu prüfen, ob ein Muster funktioniert

result = s  # Ersetze dies durch deine Lösung

# Gib das Ergebnis aus
puts result

Alle Lektionen in Grundlagen