문자열을 감안할 때 l
, 모든 상동 문자열 찾기 p
의 l
(를 포함하여 중복 및 단일 문자열을). 그런 다음 모든 하위 문자열을 p
유효한 회문으로 다시 정렬하십시오 (여러 정답이있을 수 있음). p
단일 회문 으로 재 배열 할 수없는 경우 프로그램에 정의되지 않은 동작 (오류, 스택 오버플로, 종료, John Dvorak의 중단 / 때때하지 않은 살인 등)이있을 수 있습니다.
예
유효한 테스트 사례
l = anaa
p = ['a', 'n', 'a', 'a', 'aa', 'ana']
result = anaaaaana or aanaaanaa or aaananaaa
l = 1213235
p = ['1', '2', '1', '3', '2', '3', '5', '121', '323']
result = 1213235323121
l = racecar
p = ['r', 'a', 'c', 'e', 'c', 'a', 'r', 'cec', 'aceca', 'racecar']
result = racecarcecaacecracecar (there are others)
l = 11233
p = ['1', '11', '1', '2', '3', '33', '3']
result = 113323311 or 331121133
l = abbccdd
p = ['a', 'b', 'bb', 'b', 'c', 'cc', 'c', 'd', 'dd', 'd']
result = bbccddaddccbb or ccbbddaddbbcc or (etc...)
l = a
p = ['a']
result = a
잘못된 테스트 사례 (불가능)
l = 123456789
p = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
result = <not possible, behavior undefined>
l = hjjkl
p = ['h', 'j', 'jj', 'j', 'k', 'l']
result = <not possible, behavior undefined>
l = xjmjj
p = ['x', 'j', 'jmj', 'm', 'j', 'jj', 'j']
result = <not possible, behavior undefined>
규칙
- 입력 단어가 회문 자체 인 경우 항상 입력으로 유효합니다.
- 하나의 하위 문자열 만 반환해야합니다. 선택한 하위 문자열 중 하나만 유효합니다.
- 입력에 실행 가능한 출력이 없으면 코드에 정의되지 않은 동작이있을 수 있습니다.
- 입력은 사이에 ASCII 인쇄 가능 문자 만 포함합니다
0x20-0x7E
. - 이것은 code-golf 이며, 가장 낮은 바이트 수가 승자입니다.
"abbccdd"
가 잘못되었습니다. 마지막 두 글자는"bb"
그렇지 않아야"dd"
합니다.