Ein Algorithmus ist erst mal "nur" eine Verarbeitungsvorschrift. Ob die
in Umgansgsprache, Klingonisch, Basic oder C aufgeschrieben ist, ist
erst einmal egal.
versuche, das Problem erst mal in Umgangssprache zu lösen, z.B.
setze den Wert von "vorheriger_buchstabe" auf <NICHTS>
setze den Wert von "anzahl_vorheriger__gleicher_buchstaben" auf 0
solange der Eingbestring nicht beendet ist, mache:
{
nimm den nächsten Buchstaben und speichere ihn irgendwo zwischen
prüfe, ob der Buchstabe in [L,R,V,Z]
falls ja: Mache irgendwas /* zum Beispiel eine Hupe einschalten
*/
break
falls nein:
prüfe, ob der zwischengespeicherte Buchstabe identisch ist mit
"vorheriger_buchstabe"
falls ja: ....
falls nein: ....
....etc....
}
Und so machst du halt weiter, bis alles das formuliert ist, was du haben
möchtest.
Danach übersetzt du das in die Programmiersprache deiner Wahl, und schon
bist du fertig;-)
Übrigens:
Wenn du schon sowas machst, wäre vielleicht anstelle
> Aus "RLLLVVLRLLRR" soll dann "R3L2VLR2L2R" werden.
diese Variante "zweckmäßiger": (für wen auch immer, der später diesen
geänderten String weiter verarbeiten soll)
Aus "RLLLVVLRLLRR" soll dann "1R3L2V1L1R2L2R" werden.
(also auch die Einzel-Schritte mit einem Zahlenwert versehen)
Grund: "der Nutzende" des geänderten Strings kann dann einfacher den
String verarbeiten, und braucht nicht erst noch zusätzlich den String
wieder aufbereiten mit
"falls Folgendes Zeichen ein Buchstabe ist, und vorheriges Zeichen auch
ein Buchstabe war, dann setze Zähler zu "1", ansonsten nimm den
Zählerwert"
Das folgende System bekommt also die Information schon vorgekaut und
braucht nicht mehr selber drüber nachzudenken, sondern kan direkt
ausführen.