설명
두 개의 줄을 섞어서 새 줄을 만들면 두 줄을 섞을 수 있습니다. 마치 두 장의 카드 더미를 섞어서 하나의 말뚝을 만들 수 있습니다.
예를 들어 문자열 HELLO
을 WORLD
섞어서 HWEOLRLLOD
, 또는 HEWORLLLDO
, 또는 간단히HELLOWORLD
있습니다.
그것은이다 없는 글자의 원래 순서가 유지되지 않으면 셔플. 예를 들어, 뒤를 뒤섞기 전에 D
in WORLD
을 표시 할 수 없습니다 R
. 이 수단 EHLLOWRDLO
, 예를 들어,의 셔플 아니다, HELLO
그리고 WORLD
그것은 모두 원래의 문자를 포함하더라도.
스트링은 두 개의 동일한 스트링을 섞어서 형성 될 수 있다면 쌍둥이 의 셔플입니다 . 예를 들어, ABACBDECDE
쌍둥이 셔플은 셔플 링 ABCDE
및을 사용 하여 형성 할 수 있기 때문 ABCDE
입니다. DBEACBCADE
두 개의 동일한 줄을 섞어서 형성 할 수 없기 때문에 쌍둥이의 셔플은 아닙니다.
프로그램 세부 사항
입력 문자열이 주어지면 0
쌍둥이 셔플이 아닌 경우 출력 하고 쌍둥이 셔플 인 경우 쌍둥이 문자열 중 하나를 출력합니다.
입력 문자열의 길이는 4 자에서 20 자 사이이며 전체적으로 대문자 알파벳 문자로 구성되어 있다고 가정 할 수 있습니다. 합리적인 시간 (예 : 10 분 미만)으로 실행할 수 있어야합니다.
이것은 코드 골프이므로 가장 짧은 솔루션이 승리합니다.
예제 I / O
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
골퍼가 아닌 구현 예제 가 있습니다 .
FFGGG
일관성을 유지하기 위해 편집했습니다 .
that the input string has a length inclusively between four and twenty characters
하고 "사용자 입력을 절대 신뢰하지 마십시오!", "사양을 신뢰하지 마십시오!"