Geobitsian 언어 는 단어가 각각 다른 문자로 시작해야하는 세그먼트로 나뉘어 진 새로운 영어 변태입니다. 그런 다음 시작 문자 중 하나가 다른 문자열에 나타날 때마다 해당 전체 세그먼트로 바뀌어 대문자를 유지합니다.
이 과정을 지오 비트 크기 라고 합니다 .
예를 들어 단어 " Geobits은 "으로 나눌 수 있었다 geo bits, 그리고 난센스시
Algy met a Bear
A Bear met Algy
The Bear was bulgy
The bulge was Algy
그것과 함께 Geobitsized 것
Algeoy met a Bitsear
A Bitsear met Algeoy
The Bitsear was bitsulgeoy
The bitsulgeoe was Algeoy
왜냐하면 모든 g것이되고 geo, 모든 것이 G(없지만)되고 Geo, 모든 b것이되고 bits, 모든 B것이됩니다 Bits.
각 대체는 중간 단계가 아닌 원래 문자열과 관련하여 수행됩니다. 경우 예를 들어 geo있었다 gbo대신 b'창조들로 대체 않을 것이다 bits.
도전
Geobitsian 언어를 생성 할 수있는 프로그램이나 함수를 작성하십시오.
소문자 (az)와 공백으로 구성된 한 줄짜리 문자열을 사용하십시오. 이것은 공백을 세그먼트로 구분하여 지오 비트 화 인수로 사용되는 단어입니다. 당신은 가정 할 수 있습니다 :
- 세그먼트는 비어 있지 않습니다. 따라서 공백은 서로 인접하지 않으며 문자열의 시작 또는 끝에 있지 않습니다.
- 각 세그먼트는 다른 문자로 시작합니다. 따라서 26을 초과 할 수 없습니다.
예를 들어, 지원해야 어떤 유효한 분할 된 문자열은 geo bits, butt ner, alex, 및 do o r k nob(단일 문자 세그먼트는 아무런 영향을 미치지 만 유효). 그러나 geo , butt ner, Alex, 및 do o r k n ob유효하지 않습니다.
또한 프로그램이나 함수는 지오 비트를 적용하기 위해 다른 임의의 문자열을 가져 와서 결과 지오 비트 어 언어를 인쇄하거나 반환해야합니다.
이 문자열에는 줄 바꾸기 및 인쇄 가능한 ASCII 만 포함되어 있다고 가정 할 수 있습니다 .
대소 문자는 입력에서 출력으로 유지되어야합니다.
no pro gr am m ingGeobitsizing 인수로 사용하는 몇 가지 예는 다음과 같습니다 .
[empty string] → [empty string]
i → ing
I → Ing
Mmmm, mmm... MmmmMMM: m&m!→ Mmmm, mmm... MmmmMMM: m&m!(변경 사항 없음)
People think bananas are great, don't you? → Proeoprole thingnok bamnoamnoams amre grreamt, dono't you?
Pet a Puppy
Google Wikipedia
↓
Proet am Prouproproy
Groogrle Wingkingproedingam
인수가 어떻게 배열되는지에 관계없이 결과는 동일해야합니다. 예를 들어 ing pro m no am gr위와 동일한 결과를 얻을 수 있습니다.
바이트 단위의 가장 짧은 코드가 이깁니다.
\\b${l}(\\S+)5 바이트 비용이 들지만 시도하십시오 .
abra cadabra, !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~모든 에지 사례를 다루어야하며 정규 표현식을 사용하려고하면 많은 사례가 있습니다.
["no", "pro", "gr", "am", "m", "ing"]