Un diagramma di tastiera per chitarra è simile al seguente:
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
Come puoi vedere, la prima stringa (dall'alto) aperta è un E
. Il primo tasto sulla prima corda è un F
. Il quarto tasto sulla terza corda è a B
. Nota che la prima nota è il tasto zeroth, non il primo.
Questo può essere scritto con numeri sul formato string, fret
. Le stringhe sono numerate da 1 a 6 dall'alto verso il basso. I tasti sono numerati da 0 a 12 da sinistra a destra. Il primo E
è quindi 1, 0
. Alcuni altri esempi:
1, 0 --> E
1, 1 --> F
3, 5 --> C
5, 1 --> A#
6, 6 --> A#
Sfida:
Prendi N
coppie di numeri ( s
e f
) e genera una successione di note delimitata.
- L'input può essere in qualsiasi formato adatto. tuple, matrice 2D, due elenchi separati, un elenco intrecciato (stringa, tasto, stringa, tasto ...) ecc.
- Il tono di uscita deve essere separato, ma il delimitatore è facoltativo (virgola, spazio, trattino ...). L'output può essere in maiuscolo o minuscolo.
s
(per stringa) sarà compreso nell'intervallo[1, 6]
(puoi scegliere di avere l'indicizzazione 0)f
(per il tasto) sarà nell'intervallo[0, 12]
Casi di prova ed esempi:
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
Buona fortuna e buon golf!