História de fundo [o que não é verdade]
Um piano é configurado assim:
No entanto, no meu piano, todas as teclas pretas estão quebradas!
Ainda quero tocar alguns acordes no meu piano quebrado.
Na música, um acorde é um grupo de notas tocadas juntas. Para permitir a entrada de acordes, primeiro definirei o que é um semitom.
O que é um semitom?
Um semitom é a menor distância na música ocidental. Se você observar a parte superior do piano, verá que geralmente pode passar de uma tecla preta para uma tecla branca ou vice-versa; no entanto, entre Be Ce Ee Fnão há nenhuma chave preta.
O que é um acorde?
Para os propósitos deste desafio, definimos um acorde como um monte de notas com um certo número de semitons entre eles. Por exemplo, vamos dar uma olhada em um 4-3-3acorde a partir de C(para pessoas da música, este é um acorde V 7 em Fá maior). Começamos às C. Contamos até 4 semitons: C#, D, D#, E. A próxima nota é E, e contamos 3 semitons depois que: F, F#, G. A próxima nota é G, e contamos 3 semitons depois que: G#, A, Bb. Então, nós chegamos C-E-G-Bb. Yay! Mas espere ... Bbé uma chave preta e eles estão quebrados ... No entanto, se começarmos G, conseguimos G-B-D-F! Yay!
Entrada
A entrada é fornecida como uma lista de números inteiros em qualquer formato razoável. Isso representa o acorde como descrito acima.
Resultado
A saída deve ser uma lista de notas nas quais eu posso começar a precisar usar apenas teclas brancas. Isso também pode ser apenas uma sequência de até 7 notas, porque todos os nomes-chave terão um caractere. Você também deve poder ter uma saída vazia.
Casos de teste
input -> output // comments
4 3 -> C F G // this is a major triad
3 4 -> D E A // this is a minor triad
4 3 3 -> G // this is the major-minor seventh chord
3 3 3 -> [empty output] // this is the diminished-diminished seventh chord. All of them use black keys
4 4 -> [empty output] // this is an augmented triad
3 3 -> B // this is a diminished triad
1 -> B E // this is just a minor second
11 -> C F // this is just a major seventh
Outras especificações
- Lacunas padrão proibidas
- Você pode assumir que a entrada possui pelo menos um número inteiro
- Você pode assumir que todos os números inteiros são não negativos e menores que 12 (porque o piano repete a cada 12 notas)
- A saída pode estar em qualquer ordem
Critérios Vencedores
O envio mais curto válido a partir de 15 de abril será aceito.
