문제
우가 매일 듣는 가요는 1개의 음이 존재하며, C-Db-D-…-Bb-B까지 각각 12개의 음이름이 붙어있다.
이 음들은 그림 1과 같은 순서로 나열 되어 있으며, 12개의 음 뒤에는 높은 C부터 다시 순환하는 구조로 만들어져 있다.
검은 건반은 항상 두 개의 음이름이 있으며 서로 같은 음을 지칭한다. 예를 들어 C#과 Db는 같은 음이다.

( 그림1 ) (출처: Piano-Keyboard-Guide.com)
음계는 한 곡을 구성하는 음이름의 나열을 뜻하며, 가장 많이 쓰이는 메이저 음계는 다음과 같이 만들어진다.
건반(그림 1)에서 두 음 사이에 아무 음이 없으면, 그 두 음이 반음 간격이라고 한다.
건반(그림 1)에서 두 음 사이에 하나의 음이 있으면, 그 두 음이 온음 간격이라고 한다.
7개의 음을 골라서, 낮은 음부터 높은 음까지 나열했을 때, 3번째와 4번째 음의 간격만 반음간격이고, 나머지 인접한 음의 간격이 모두 온음 간격이면, 그 음계를 메이저 음계라고 한다. 이 때, 가장 앞의 음을 따서 “앞의 음” 메이저 음계라고 한다.
예를 들어, C 메이저 음계는 C-D-E-F-G-A-B이다.
그림 1에서, E와 F 사이에만 건반이 없고(반음 관계이고,) 나머지 음 사이에는 건반이 존재한다(온음 관계이다.)
또한 Ab-A#-C-Db-Eb-F-G는 Ab 메이저 음계이며, E-F#-G#-A-B-Db-D#는 E 메이저 음계이다.
그림 1의 건반을 보면서 확인해보자.
메이저 음계에서 작곡된 곡들은 주로 이 7가지의 음만 가지고 작곡된다.
다음은 걸그룹 트와이스의 히트곡 Yes or Yes 후렴부의 실제 음이름을 나열한 것이다. (시간이 나면 직접 쳐 보도록 하자)

3개의 구절을 통합하여, 총 7개의 음이름이 존재함을 알 수 있다. 이는 Gb-Ab-Bb-B-Db-Eb-F의 Gb 메이저 음계의 구성원들이다.
따라서 트와이스의 Yes or Yes는 Gb 메이저 음계의 곡이다.
어떤 한 곡을 구성하는 음이름들이 주어졌을 때, 어떤 메이저 음계의 곡인지 찾는 프로그램을 작성하라.
입력
첫 줄에 곡의 제목이 한 문자열로 주어지며, 알파벳 대소문자와 공백으로 구성된다.
둘째 줄에 그 곡을 구성하는 음의 개수 N이 정수로 들어온다.
셋째 줄에 공백을 사이에 두고, N개의 음이름들이 주어지며, 이는 C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#, Ab, A, A#, Bb, B중 하나이다.
주어진 곡으로 메이저 음계를 찾을 수 없는 경우는 입력으로 주어지지 않는다.
부분문제의 제약 조건
모든 부분문제에서 곡의 제목으로 주어지는 문자열의 길이는, 공백을 포함하여 100자를 넘지 않으며,
출력
“곡 제목: XX Major Scale”의 형식으로 출력한다.
두 가지 답이 가능한 경우가 다섯 가지 있으며,
그 경우 샵(#)이 아닌 플랫(b)을 출력한다. Db, Eb, Gb, Ab, Bb.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 14점 | |
| #2 | 36점 | |
| #3 | 50점 | 주어진 조건 외에 아무런 제약조건이 없다. |
예제 #1
Canon Variation
14
G E F G E F G G A B C D E F
Canon Variation: C Major Scale
예제 #2
BLACKPINK As if its your last CHORUS
24
G Ab G Ab G# G Ab Ab G Ab F Eb Eb C Bb Ab A# Ab Bb C Db C F Ab
BLACKPINK As if its your last CHORUS: Ab Major Scale