Antes de sair, você não precisa entender muita notação musical para fazer esse desafio.
EXPLICAÇÃO
Nas partituras padrão, claves duplos atravessam a página, servindo como pontos de referência para as notas, informando que nota deve ser tocada. Se você ainda não está familiarizado com a clave de sol e os agudos, aqui está uma descrição da Wikipedia:
Clave é um símbolo musical usado para indicar o tom das notas escritas. Colocado em uma das linhas no início da pauta, indica o nome e o tom das notas nessa linha. Esta linha serve como um ponto de referência pelo qual os nomes das notas em qualquer outra linha ou espaço da pauta podem ser determinados.
Na imagem acima, a metade superior das linhas é a clave de sol, denotada com um
A metade inferior é a clave de sol, denotada com um
Como você pode ver na Clave de Sol, uma nota na parte inferior mais-line é um E . (Eu não estou contando notas fora das linhas clef para este desafio) Na clave de fá, a linha mais baixa é um G . Para concluir esse desafio, você deve fazer o seguinte:
DESAFIO
Dada uma entrada de uma das seguintes formas (sua escolha), converta-a na clave oposta. Seja a clave de sol ou a clave de sol, pode ser um valor Truthey / Falsey no seu idioma (não apenas dois valores), por exemplo
F # T ou F # Verdadeiro ou F # Treble
mas não
F # -1 ou F # 4
Espaços e letras maiúsculas são opcionais, Flats não aparecerão e espaços em branco à direita não são permitidos.
Input Expected Output
E Treble G
F Treble A
F# Treble A#
G Treble B
G# Treble C
A Treble C
A# Treble C#
B Treble D
C Treble E
C# Treble F
D Treble F
D# Treble F#
E Treble G
F Treble A
F# Treble A#
G Bass E
G# Bass F
A Bass F
A# Bass F#
B Bass G
C Bass A
C# Bass A#
D Bass B
D# Bass C
E Bass C
F Bass D
F# Bass D#
G Bass E
G# Bass F
A Bass F
A# Bass F#
Esteja avisado, este não é um desafio trivial de diferença constante. Observe atentamente as entradas e saídas. Se você olhar para um piano,
as teclas pretas são cortantes, indicadas por #. Observe que não há um E # ou um B #. Isso significa que, se você receber G # na clave de baixo, em vez de retornar E # , precisará retornar F
Isso é código-golfe , então a menor contagem de bytes vence.
C
vez de C
) está ok?
1
e -1
(ou mesmo dizer, 4
e -4
) para a entrada de indicador clef permitido ou se isso só será aceitável se forem truthy / Falsey valores em nossa língua?