Herausforderung
Bei einer Liste mit Notizen müssen Sie die entsprechende Tabulatur zurückgeben.
Anmerkungen
Die Noten müssen im Bereich von A bis einschließlich G und der Oktavbereich von 2 bis einschließlich 6 liegen. Das Format ist eine Notenoktave mit #
einer scharfen und b
einer flachen. ZB: A7
oder F#3
.
Tabs
Tabulatur ist eine Methode zum Schreiben von Musik, indem das Instrument schematisch dargestellt wird. Es wird normalerweise als fünf Zeilen mit Zahlen dargestellt.
Die Zahlen, die auf die Linien geschrieben sind, stellen den Bund dar, der verwendet wird, um die gewünschte Tonhöhe zu erhalten. Zum Beispiel zeigt die Nummer 3 in der obersten Zeile des Stabes an, dass der Spieler am dritten Bund auf dem hohen E (erste Saite) nach unten drücken soll. Nummer 0 bezeichnet die Mutter - das heißt eine offene Saite.
Die Bundnummern dürfen nicht größer als 22 sein und die Gitarre besteht aus sechs Saiten.
Die Tabulatur muss im Standard-ASCII-Format vorliegen . Sie dürfen keine Technikindikatoren (Hammer auf, Schieben usw.) einschließen. Trennen Sie jede Note durch fünf Striche. Reduzieren Sie bei zweistelligen Zahlen die Anzahl der Striche auf vier.
Der Anfang der Registerkarte sollte folgendermaßen aussehen:
e |-----
B |-----
G |-----
D |-----
A |-----
E |-----
Und das Ende sollte aussehen wie:
-----|
für alle Zeilen.
(Quelle: justinguitar.com )
Beispiel
Input: C3 C3 D3 E3 F3
Output:
e |-----------------------------------|
B |-----------------------------------|
G |-----------------------------------|
D |-----------------0-----2-----3-----|
A |-----3-----3-----------------------|
E |-----------------------------------|
Gewinnen
Der kürzeste Code gewinnt
Antworten:
Python 3 -
329328319300Dies ist mein erster Beitrag auf codegolf.se und wahrscheinlich bei weitem nicht optimal. Ich habe hier viele Beiträge gelesen, aber vor vielleicht 50 Stunden meinen ersten Code Golf gespielt. Wollte es aber versuchen!
BEARBEITEN: 1 Byte entfernt, dort musste kein zusätzlicher Bindestrich ausgegeben werden
BEARBEITEN 2: 9 Bytes entfernt, einige Leerzeichen aus der Notenzeichenfolge entfernt
EDIT 3: 19 Bytes durch Konvertierung
filter()
in einen Generator entferntEin bisschen ungolfed:
quelle