Ein Gitarren-Griffbrett-Diagramm sieht folgendermaßen aus:
0 1 2 3 4 5 6 7 8 9 10 11 12 <- Fret number (0 means it's open)
|-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E
|-B--C--C#-D--D#-E--F--F#-G--G#-A--A#-B
|-G--G#-A--A#-B--C--C#-D--D#-E--F--F#-G
|-D--D#-E--F--F#-G--G#-A--A#-B--C--C#-D
|-A--A#-B--C--C#-D--D#-E--F--F#-G--G#-A
|-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E
Wie Sie sehen können, ist der erste geöffnete String (von oben) ein E
. Der erste Bund auf der ersten Saite ist ein F
. Der vierte Bund auf der dritten Saite ist a B
. Beachten Sie, dass die erste Note der nullte Bund ist, nicht der erste.
Dies kann mit Zahlen im Format geschrieben werden string, fret
. Die Zeichenfolgen sind von oben nach unten von 1 bis 6 nummeriert. Die Bünde sind von links nach rechts von 0 bis 12 nummeriert. Der erste E
ist also 1, 0
. Einige andere Beispiele:
1, 0 --> E
1, 1 --> F
3, 5 --> C
5, 1 --> A#
6, 6 --> A#
Herausforderung:
Nehmen Sie N
Zahlenpaare ( s
und f
) und geben Sie eine begrenzte Notenfolge aus.
- Die Eingabe kann in jedem geeigneten Format erfolgen. Tupel, 2D-Matrix, zwei getrennte Listen, eine verwobene Liste (String, Bund, String, Bund ...) usw.
- Der Ausgabeton sollte getrennt sein, das Trennzeichen ist jedoch optional (Komma, Leerzeichen, Bindestrich ...). Die Ausgabe kann in Groß- oder Kleinschreibung erfolgen.
s
(für Zeichenkette) liegt im Bereich[1, 6]
(Sie können wählen, ob i 0 indiziert werden soll)f
(für Bund) wird im Bereich sein[0, 12]
Testfälle und Beispiele:
1 4 5 2 1 3 <- String
4 2 6 3 5 1 <- Fret
G# E D# D A G#
6 2 3 1 4 2 3 2 2 2 6 5 2
0 1 2 3 4 5 6 7 8 9 10 11 12
E C A G F# E C# F# G G# D G# B
3 3 3 3 3 3 3 3 3 3 3 3 3 <- String
0 3 5 0 3 6 5 0 3 5 3 0 0 <- Fret
G A# C G A# C# C G A# C A# G G
// The same test case, but different input and output format:
(3,0)(3,3)(3,5)(3,3)(3,6)(3,5)(3,0)(3,3)(3,5)(3,3)(3,0)(3,0)
G,A#,C,G,A#,C#,C,G,A#,C,A#,G,G
Viel Glück und viel Spaß beim Golfen!