배경 이야기 [사실이 아님]
피아노는 다음과 같이 설정됩니다 :
그러나 피아노에서 모든 검은 건반이 고장났습니다!
그래도 여전히 깨진 피아노에서 코드를 연주하고 싶습니다.
음악에서 화음은 함께 연주되는 음표 그룹입니다. 코드 입력을 허용하기 위해 먼저 반음이 무엇인지 정의하겠습니다.
반음이란 무엇입니까?
반음은 서양 음악에서 가장 작은 거리입니다. 피아노의 상단 부분을 보면 보통 검은 색 키에서 흰색 키로 또는 그 반대로 이동할 수 있습니다. 그러나, 사이 B
와 C
와 E
와 F
더 블랙 키가 없습니다.
화음이란?
이 챌린지의 목적을 위해, 우리는 코드 사이에 특정 수의 반음이있는 음표로 코드를 정의합니다. 예를 들어, 4-3-3
시작 하는 코드를 들겠습니다 C
(음악 사용자의 경우 F 장조 의 V 7 코드). 우리는에서 시작 C
합니다. 우리는 4 개 반음을 계산 : C#
, D
, D#
, E
. 다음 주입니다 E
, 우리는 그 후 3 개 반음을 계산 : F
, F#
, G
. 다음 주입니다 G
, 우리는 그 후 3 개 반음을 계산 : G#
, A
, Bb
. 그래서 우리는 얻는다 C-E-G-Bb
. 예이! 그러나 잠깐 만요 ... Bb
검은 열쇠이며 그 열쇠가 깨졌습니다 ... 그러나 우리가 시작하면 우리 G
는 얻습니다 G-B-D-F
! 예이!
입력
입력은 적절한 형식의 정수 목록으로 제공됩니다. 이것은 위에서 설명한 코드를 나타냅니다.
산출
출력은 흰색 키만 사용하기 시작할 수있는 메모 목록이어야합니다. 모든 키 이름은 하나의 문자이므로 최대 7 개 음표의 문자열 일 수도 있습니다. 빈 출력도 처리 할 수 있어야합니다.
테스트 사례
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
다른 사양
- 금지 된 표준 허점
- 입력에 적어도 하나의 정수가 있다고 가정 할 수 있습니다
- 모든 정수가 음이 아니고 12보다 작은 것으로 가정 할 수 있습니다 (피아노가 12 개의 음마다 반복되기 때문에)
- 출력 순서는 상관 없습니다
승리 기준
4 월 15 일 현재 최단 유효 제출이 접수됩니다.