일반 브래킷 ( ()
, []
, <>
및 {}
) 그러나 누군가는 괄호로 비 괄호 문자를 사용하는 좋은 아이디어가 될 것이라고 생각, 좋은 모호하다. 이러한 문자는, |
및 "
, 모호한 있습니다. 예를 들어
""""
에 해당
(())
또는
()()
말할 수 없습니다.
예를 들어 모호한 유형의 대괄호를 혼합하면 상황이 흥미로워지기 시작합니다.
"|""||""|"
다음 중 하나 일 수 있습니다.
([(([]))]),([()[]()]),([()][()])
직무
당신의 임무는 모호한 문자로 구성된 문자열을 가져 와서 저자가 의도 한 모든 가능한 균형 잡힌 문자열을 출력하는 것입니다.
보다 구체적으로 출력 할 대체 할 수있는 모든 균형있는 문자열 |
중 하나와 함께 [
또는 ]
과 "
와 하나 (
또는 )
. 균형 잡힌 문자열을 두 번 출력해서는 안됩니다.
IO
입력으로 |
and 로 구성된 문자열을 가져와야 "
합니다. 당신이 아닌 다른 두 가지 문자를 선택하려는 경우 |
와 "
그렇게 할 수 있습니다 대체 역할을 할 수 있습니다. 균형 잡힌 문자열의 컨테이너를 출력해야합니다. 당신은 대체하도록 선택할 수 있습니다 []
및 ()
다른 두 개의 브래킷 쌍 출력에 ( ()
, []
, <>
또는 {}
) 당신 바랍니다. 실행마다 출력 형식이 일관되어야합니다.
채점
이것은 코드 골프 이므로 바이트 수가 적을수록 답이 바이트로 표시됩니다.
테스트 사례
"" -> ["()"]
"|"| -> []
||| -> []
"""" -> ["(())","()()"]
""|| -> ["()[]"]
"|"||"|" -> ["([([])])"]
"|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]