회문은 재미 있지만 다른 현 중 일부는 빠져 나가기 시작했습니다. 우리는이 끈들을 회문 덩어리의 회문 으로 나눠서 두툼한 회문 으로 바꿀 수 있습니다 .
예를 들어, 문자열 "abcabca"
을 문자별로 읽는다면 회문이 아니지만, 우리는 그것을 청각 회문 으로 만드는 세 가지 방법이 있습니다 .
["abcabca"]
["a" "bcabc" "a"]
["a" "bc" "a" "bc" "a"]
보시다시피 chunky palindromicness는 매우 포괄적 인 개념입니다. 모든 끈은 적어도 한 가지 방법으로 뭉친 회문으로 바뀔 수 있습니다.
직무
문자열을 입력으로 수신하고 회문 청크를 반환하는 프로그램 또는 함수를 작성하십시오 ( 즉, 회문 배열 인 파티션 수).
테스트 사례
OUTPUT | INPUT
--------+---------------------------------------------
1 | ""
1 | "a"
1 | "ab"
2 | "aa"
2 | "aaa"
3 | "abcabca"
4 | "abababab"
28 | "abcabcaabababababcabca"
1 | "bbbbabababbbbababbbaaaaa"
20 | "ababbaaaabababbbaaabbbaa"
5 | "baaabaabababaababaaabbaab"
62 | "bbaaababbabbabbbabaabaabb"
2 | "a man a plan a canal panama"
25 | "ama nap lan aca nal pan ama"
93 | "SATOR AREPO TENET OPERA ROTAS"
976 | "abcabcaabcabcaabcabcaabcabcaabcabcaabcabca"
28657 | "ababababababababababaababababababababababa"
2097152 | "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
추가 규칙
입력은 42 자 이하의 인쇄 가능한 ASCII 문자로 구성되며, 선택적으로 언어의 문자열 분리 문자 및 / 또는 줄 바꿈 문자로 둘러싸여 있다고 가정 할 수 있습니다.
유효한 각 입력 문자열 에 대해 내 컴퓨터에서 코드가 1 분 이내에 완료되어야합니다 (Intel Core i7-3770, 16 GiB RAM, Fedora 21).
적절한 알고리즘을 사용하면이 시간 제한을 쉽게 준수 할 수 있어야합니다. 그러나 입력 문자열의 모든 파티션을 반복 할 수는 없습니다.
출력을 STDOUT으로 인쇄하기로 선택한 경우 단일 줄 바꿈이 이어질 수 있습니다.
표준 코드 골프 규칙이 적용됩니다.