Diberikan daftar akord label mereka sebagai 'Mayor' atau 'Kecil'.
Memasukkan
Input akan berupa daftar akord, satu per baris, terdiri dari 3 not yang dipisahkan oleh spasi. Setiap note akan terdiri dari nama note dalam huruf besar ( A
- G
) dan opsional kebetulan ( #
atau b
). Akord mungkin ada dalam inversi apa pun (mis. Not mungkin dalam urutan apa pun).
Keluaran
Jika chordnya mayor, keluaran 'Mayor'. Jika akornya minor, keluaran 'Minor'. Jika akornya tidak besar atau kecil, keluaran baris kosong.
Contoh
Memasukkan
C E G
F Ab C
C Eb Gb
E G B
Db F Ab
Bb G D
D A Gb
Keluaran
Major
Minor
Minor
Major
Minor
Major
Skrip uji
Seperti pada beberapa pertanyaan saya di masa lalu, saya sekali lagi membantai beberapa skrip uji yang awalnya dibuat oleh Joey dan Ventero untuk memberikan beberapa kasus uji untuk pertanyaan ini:
Pemakaian: ./test [your program and its arguments]
Hadiah
Setiap entri yang saya dapat verifikasi yang memenuhi spesifikasi, lulus tes dan jelas telah mencoba golf akan menerima upvote dari saya (jadi tolong berikan instruksi penggunaan dengan jawaban Anda). Solusi terpendek pada akhir 13/10/2012 akan diterima sebagai pemenang.
Sedikit teori
Bagi Anda yang tidak memiliki pengetahuan teori musikal, inilah informasi yang cukup bagi Anda untuk dapat bersaing.
Akord mayor atau minor terdiri dari tiga not yang dipisahkan oleh pola semitone tertentu. Jika kita menganggap root (nada bawah) dari akor menjadi 0, maka akor mayor adalah pola 0-4-7 dan akor minor adalah pola 0-3-7. Hal-hal dibuat lebih canggung oleh kenyataan bahwa beberapa not adalah nada semi terpisah dan beberapa nada terpisah. Sebaran semiton dari Ab
- G#
adalah sebagai berikut:
G#/Ab A A#/Bb B/Cb B#/C C#/Db D D#/Eb E/Fb E#/F F#/Gb G G#/Ab
0 1 2 3 4 5 6 7 8 9 10 11 12
G#/Ab
berarti bahwa itu G#
adalah catatan yang sama dengan Ab
. Dari sini kita dapat melihat bahwa akord Ab C Eb
adalah akord mayor, dan itu Ab Cb Eb
minor.
Untuk memperumit masalah lebih lanjut, chord Eb Cb Ab
dianggap sama dengan Ab Cb Eb
, Cb Eb Ab
dan Cb Ab Eb
dan sebagainya. Setiap variasi ini masih merupakan kunci minor.