소개
우리는 특히 팬인 경향이있는 괴짜들 모두이 오래된 파 사이드 만화를 기억합니다 .
Schwartzman 교수는 자신의 발명품을 사용하기 전에 프로그래밍 기술을 좀 더 자세히 알아볼 수있었습니다. 그러나 가능한 적은 바이트를 사용하여 직접 복제 할 수 있습니까?
입력 사양
개 소리를 적절하게 발음 된 "헤이"로 변환하는 스크립트를 작성해야합니다. 이것은 순수한 코드 골프입니다. 가장 적은 바이트 수가 이깁니다.
입력 한 내용은 다음 토큰의 조합으로 구성됩니다.
Bark,Baark,Baaark,Baaaark, (즉,B*rk적어도 1과a별표 교체)Woof,Wooof,Woooof, ... (W*f이상과 2 개o의 별표 교체)Grr,Grrr,Grrrr, ..., (G적어도 다음 두rS)- 임의의 수
.(기간),!(느낌표) 및 / 또는?입력 어디에서나 발생할 수있다 (물음표) 문자,
다시 말하지만, 기반 토큰 Woof과 Grr기반 토큰은 항상 적어도 두 개의 o s 및 rs를 필요로합니다 . Wof하고 Gr있습니다 하지 유효한 토큰.
토큰이 얼마나 오래있을 수 있는지에 대한 제한은 없습니다 (예를 들어, 토큰에 몇 개의 반복 a이있을 수 있는지 Bark). 그러나, 귀하의 디코더에서만 입력 토큰 제대로 작동 할 필요가 최대 10 개까지 총 a,의 oS 또는 r이 문제를 통과이야.
출력 사양
Schwartzman의 설계에 충실한 개 디코더 프로그램은 다음과 같이 출력 텍스트로 처리해야합니다.
Bark,Woof그리고Grr되고Hey;Baark,Wooof그리고Grrr되고Heyy;Baaark,Woooof그리고Grrrr되고Heyyy; 기타- 모든
Bark기반 토큰y의 경우 출력Hey기반 토큰의as 수는 s 수와 같아야합니다 . - 모든
Woof기반 토큰y의 경우 출력Hey기반 토큰 의 s 수는 s 수 보다 1이 작아야 합니다o. - 모든
Grr기반 토큰y의 경우 출력Hey기반 토큰 의 s 수는 s 수 보다 1이 작아야 합니다r. - 모든 구두점 (
.,!및?)은 변경되지 않습니다.
s 및 s에 대해서만 y출력에서 하나를 삭제하십시오 ! 8 s 의 입력 값은 8 s의 일치하는 세트가 됩니다. 그러나 단지이된다 7 개, 의.WoofGrrBaaaaaaaark?aHeyyyyyyyy?yWoooooooof?Heyyyyyyy?y
다시 말하지만, 프로그램이 무제한 크기의 입력 토큰에 대해 작동하도록 할 수 있다면 훌륭하지만이 과제의 목적을 위해 10 자 이하의 반복되는 문자가없는 입력 토큰에 대해서만 프로그램이 제대로 작동하는지 확인합니다. .
입력 한 모든 Bark-, Woof-및 Grr-기반 토큰은 대문자로 시작하는 것으로 가정합니다. 따라서이 없습니다 필요 핸들의 회전에 Bark grrr로 Hey heyy또는 유사한 아무것도.
입력 및 출력 예
- 입력:
Bark. Bark! Bark!! - 산출:
Hey. Hey! Hey!!
- 입력:
- 입력 :
Baaaaaark?(6a초) - 출력 :
Heyyyyyy?(6y초)
- 입력 :
- 입력 :
Grrrrrrrr...(8r초) - 출력 :
Heyyyyyyy...( 7y초)
- 입력 :
- 입력:
?...! - 산출:
?...!
- 입력:
- 입력:
Wooof Woof? Grrrr. Baaaark Grr! - 산출:
Heyy Hey? Heyyy. Heyyyy Hey!
- 입력:

