내 두 아이는 다음 장난감을 가지고 노는 것을 좋아합니다.
안에 모양이있는 채색 된 영역을 만지면 거북이가 해당 영역을 밝히고 소리를 내거나 색의 이름이나 모양을 말합니다. 중간 버튼은 모드를 변경합니다. 터치시 서로 다른 음표를 연주하는 하나의 모드가 있습니다. 꼬임이 연속적으로 세 개의 연속 영역을 터치하면 특수 멜로디 1이 재생됩니다. 터치 한 3 개의 연속 영역을 시계 반대 방향으로 놓으면 특수 멜로디 2가 연주됩니다.
도전
장난감의 내부 논리를 시뮬레이션 해 봅시다. 아이를 3 번 누르는 문자열이 주어지면, 3 번의 프레스가 연속 영역 (시계 방향 또는 시계 반대 방향)에 대한 것이면 2 개의 구별되고 일관된 값을 반환하고 그렇지 않으면 3 번째로 구별되는 값을 반환합니다.
세부
- 입력 영역은 각각 문자로 이름이 지정되며, 색상
ROYGB
은 빨강, 주황, 노랑, 녹색 및 파랑; 또는 모양 :HSRTC
심장, 사각형, 별 (R
), 삼각형 및 원의 경우. 대소 문자는 중요하지 않으며 대문자 또는 소문자로 입력 및 출력 작업을 수행하도록 선택할 수 있습니다. - 프로그램은 세 번의 프레스로 문자열 (또는 문자 배열 또는 이와 동등한 것)을 수신합니다. (색상 사용) 예 :
RBO
,GYO
,BBR
,YRG
,YGB
,ORB
... - 프로그램은 세 가지 가능한 결과를 나타 내기 위해 세 개의 고유하고 일관된 값을 출력합니다. 조합이 특수 멜로디를 트리거하지 않으면 첫 번째 값, 조합이 시계 방향 특수 멜로디를 트리거하면 두 번째 값, 조합이 반 시계 방향의 특수 멜로디. 예 :
0
특별한 조합이없는 경우,1
시계 방향 조합으로-1
트리거되는 멜로디 및 반 시계 방향 조합으로 트리거되는 멜로디 - 잘못된 입력 처리에 대해 걱정할 필요가 없습니다.
테스트 사례
Input Output // Input based on colors
--------------
RBO 0 // No special combination
GYO -1 // Counterclockwise melody triggered
BBR 0 // No special combination
YRG 0 // No special combination
YGB 1 // Clockwise melody triggered
ORB -1 // Counterclockwise melody triggered
OOO 0 // No special combination
BRO 1 // Clockwise melody triggered
이것은 code-golf 이므로 각 언어마다 가장 짧은 코드가 이길 수 있습니다!
[0,0]
,[1,0]
,[0,1]
출력으로 허용? Mathematica 답변이 그렇게하는 것을보고 05AB1E 답변에 3 바이트를 절약 할 수 있습니다.