도전
나는 다른 날 Google의 Java 스타일 가이드를 읽고 임의의 문자열을 camelCase 표기법으로 변환하기 위해 알고리즘을 우연히 발견했습니다. 이 도전에서는 코드 골프 도전에 대한 경쟁이 치열한 Java 제출을 작성할 때 머리 에이 모든 것을 수행하지 않기 때문에이 알고리즘을 구현해야합니다.
참고 : 알고리즘을 약간 조정했습니다. 아래에 지정된 것을 사용해야합니다.
알고리즘
임의의 입력 문자열로 시작하여 다음 조작을 적용하십시오.
- 모든 아포스트로피 제거
`'
- 에서 분할하여 결과를 단어로 분할
- 영숫자가 아니고 숫자가 아닌 문자
[^a-zA-Z0-9]
- 양쪽에 소문자로 둘러싸인 대문자.
abcDefGhI jk
예를 들어 수율abc Def Ghi jk
- 영숫자가 아니고 숫자가 아닌 문자
- 모든 단어를 소문자로 사용하십시오.
- 첫 단어를 제외한 모든 문자의 첫 문자
- 모든 단어를 다시 합치십시오.
추가 사항
- 입력은 인쇄 가능한 ASCII 만 포함합니다.
- 숫자가 단어의 첫 글자 인 경우 그대로두고이 단어의 다른 단어를 대문자로 표시하지 마십시오.
- 입력은 항상 하나 이상의 문자를 갖습니다.
규칙
- 기능 또는 전체 프로그램이 허용됩니다.
- 입 / 출력의 기본 규칙 .
- 표준 허점이 적용됩니다.
- 이것은 code-golf 이므로 바이트 수가 가장 적습니다. Tiebreaker는 이전에 제출되었습니다.
테스트 사례
"프로그래밍 퍼즐 및 코드 골프"-> "programmingPuzzlesCodeGolf" "XML HTTP 요청"-> "xmlHttpRequest" "iOS에서 IPv6을 지원합니까?" -> "Ipv6OnIos 지원" "일부 w, 아포스트로피 및 문장 부호"-> "someThingW1ApostrophesAndPuncTuation" "아무것도 특별한"-> "nothingSpecial" "5pecial ca5e"-> "5pecialCa5e" "1337"-> "1337" "1337-spEAk"-> "1337 말하기" "whatA mess"-> "whataMess" "abcD"-> "abcd" "a"-> "a" "B"-> "b"
행복한 코딩!
snake_case
&PascalCase
snake_case
물론 파이썬 때문에 @Martijn . FORTH도 FORTHCASE
있고 APL은unreadable in any case
ApostropheS
출력에 있어야합니다.