당신이 그것을 수락하기로 결정한 경우, 주어진 문자열 (괄호, 중괄호 및 대괄호 만 포함)이 올바른 중괄호 일치를 갖도록 최소 수의 괄호, 중괄호 및 대괄호 를 추가 하는 것이 임무 입니다. 쌍을 이루는 버팀대 사이 의 최대 거리 를 가짐으로써 추가 된 기호 타이를 끊어야합니다. 이 두 규칙과 일치하는 정답을 하나만 반환해야합니다. 다른 유대가 존재한다면, 당신이 원하는대로 깨질 수 있습니다.
예 :
input output
// Empty String is a legal input
[ [] // Boring example
[()] [()] // Do nothing if there's nothing to be done
({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}})
[([{])]} {[([{}])]} // NOT [([])]{[([])]} or similar
프로그램이나 함수를 작성하고 STDIN을 통해 입력을 함수 의 문자열 인수로 수신 하여 출력을 문자열로 리턴하거나 STDOUT (또는 가장 가까운 대안)으로 인쇄 할 수 있습니다. 선택적으로 출력에 단일 후행 줄 바꿈을 포함시킬 수 있습니다.
입력 문자열이 다음 6 자 (또는 그 부족)로만 구성되어 있다고 가정 할 수 있습니다. [](){}
(지원하지 않아도 됨 <>
)
이것은 코드 골프 , 가장 짧은 프로그램 승리입니다. 물론 표준 허점은 금지되어 있습니다 .
실제 제목 바로 아래에서 제목을 반복하거나 실제 태그 바로 위의 태그를 반복 하시겠습니까? 샌드 박스에서 붙여 넣은 사본을 복사하여 제거하는 것을 잊어 버린 경우에만 물어보십시오.
—
Rainbolt
@Rainbolt 전 아니오 (샌드 박스), 후자
—
durron597
@AlexA. 그것들이 사소한 방식으로 어떻게 다른지 알 수 있지만, 그것들이 별도의 질문으로 간주 되기에는 너무 유사하다고 생각합니다.
—
NinjaBearMonkey
그럴 수 있지. 확실히 자르지 않고 건조하지 않으며 다른 사람들이 원하지 않는 경우 닫히지 않을 것입니다.
—
NinjaBearMonkey
나는 그것을 충분히 다르게 고려할 것입니다. 다시 열기로 투표
—
nderscore