아기가 입을 열면 횡설수설을하는 것이 아닙니다. 그들은 실제로 고도로 발전된 성인용 암호로 말하고 있습니다 ...
베이비 토크 암호
아기가 말을 할 때, gogooa gagooook aagaaoooy
하나의 공백으로 구분 된 각 섹션은 문자를 나타냅니다 (위의 예는 3자를 나타냄).
섹션을 해독하려면 포함 된 As 및 Os의 수를 계산해야합니다. 그러나, 우리는 다른 모음에 인접한 것들만 계산합니다. 예를 들어, 'gag'의 A는 계산되지 않지만 'gaog'의 A와 O는 모두 계산됩니다.
위의 예를 세면 다음과 같습니다.
Section | Num Os | Num As
gogooa | 2 | 1
gagooook | 4 | 0
aagaaoooy | 3 | 4
그런 다음이 값을 사용하여 입력을 Polybius 정사각형의 일반 텍스트로 변환합니다. 이것은 'J'를 생략하고 영어 알파벳을 5x5로 표현한 것입니다.
0 1 2 3 4
0 A B C D E
1 F G H I K
2 L M N O P
3 Q R S T U
4 V W X Y Z
Os의 수를 열로 사용하고 As의 수를 행으로 사용하여 각 섹션이 나타내는 문자를 찾습니다.
Section | Num Os | Num As | Character
gogooa | 2 | 1 | (2,1) -> H
gagooook | 4 | 0 | (4,0) -> E
aagaaoooy | 3 | 4 | (3,4) -> Y
아기가 그냥 "HEY"라고 말한 것 같습니다.
참고 :
-문자를 나타내는 섹션에 4 개 이상의 As 또는 Os가있는 경우 4가 테이블의 최대 값이므로 엑스트라를 무시하십시오. -이 작업에서 Y는 모음이 아니며 A, E, I, O 및 U 만 있습니다.
도전
당신의 임무는 하나의 입력, 단어를 사용하여 일반 텍스트로 인쇄 하는 전체 프로그램 을 만드는 것입니다.
- 프로그램은 대문자, 소문자 및이 둘을 혼합하여 입력 할 수 있어야합니다.
- 입력 값에는 ASCII 알파벳 문자 (AZ 및 az) 만 포함되며, 공백은 아기 단어를 구분합니다.
- 출력 텍스트는 언제든지 가능합니다.
- 입력을 받아
STDIN
일반 텍스트를에 인쇄 해야합니다STDOUT
. 사용하는 언어에 해당 언어가 없으면 가장 가까운 언어를 사용하십시오. - 이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 승리하지만 모든 솔루션을 환영합니다.
테스트 사례
'GLOOG KAKAAOOO ARGOOO OOOOOGUGUU' -> CODE
'oaka pooopaa gaau augu' -> GOLF
'Aoao U oOOAoa oaoAoo aoAoAOa' -> NAPPY
'GUG gAGaA gOougOou' -> ALE
'OOaGOG GoGOOoGoU gAA bLAA GOUGoOUgAIGAI' -> HELLO
.toUpperCase()
또는 유사한 함수 호출이 아닌 실제로 자극 도전
gogooa
의 O 2가? 그리고 gagooook
0 a는 어떻게됩니까?
FAG
. : P
'GUG gAGaA gOougOou' -> 'ALE'
아기가 에일을 마십니까? : D