코드 목록이 있으면 'Major'또는 'Minor'로 레이블이 지정됩니다.
입력
입력은 한 줄에 하나씩 코드 목록으로, 공백으로 구분 된 3 개의 음으로 구성됩니다. 각 노트는 대문자 ( A
- G
) 로 된 노트 이름 과 우발적 ( #
또는 b
)으로 구성됩니다. 코드는 반전 될 수 있습니다 (즉, 음표는 임의 순서 일 수 있음).
산출
코드가 메이저이면 'Major'를 출력합니다. 코드가 작 으면 'Minor'를 출력하십시오. 코드가 메이저 또는 마이너가 아닌 경우 빈 줄을 출력합니다.
예
입력
C E G
F Ab C
C Eb Gb
E G B
Db F Ab
Bb G D
D A Gb
산출
Major
Minor
Minor
Major
Minor
Major
테스트 스크립트
지난 몇 가지 질문과 마찬가지로, Joey 와 Ventero 가 원래 만든 몇 가지 테스트 스크립트를 다시 한 번 도살 하여이 질문에 대한 테스트 사례를 제공했습니다.
용법: ./test [your program and its arguments]
보상
사양을 충족하고 테스트를 통과했으며 골프를 시도한 것으로 보이는 모든 항목은 저에게 공감대를받습니다 (답변에 사용 지침을 제공하십시오). 2012 년 10 월 13 일까지 가장 짧은 솔루션이 승자로 인정됩니다.
작은 이론
음악 이론 지식이없는 사람들을 위해 여기에 당신이 경쟁 할 수있는 충분한 정보가 있습니다.
메이저 또는 마이너 코드는 특정 패턴의 반음으로 분리 된 3 개의 음으로 구성됩니다. 코드의 근음 (하단 음표)을 0으로 간주하면 주요 코드는 패턴 0-4-7이고 작은 코드는 패턴 0-3-7입니다. 일부 음표는 반음이 분리되고 일부는 음조가 분리되어 있기 때문에 상황이 더 어색합니다. 반음의 확산에서이 Ab
- G#
다음과 같습니다 :
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
는와 G#
같은 메모 임을 의미합니다 Ab
. 이것으로부터 우리는 화음 Ab C Eb
이 큰 화음 임을 알 수 있습니다 Ab Cb Eb
.
복잡한 더 중요하기 위해, 코드는 Eb Cb Ab
같은 것으로 간주됩니다 Ab Cb Eb
, Cb Eb Ab
그리고 Cb Ab Eb
등등. 이러한 모든 변형은 여전히 작은 코드입니다.