에 중복/잘못된 괄호를 제거 : 결과Python. 어떻게 예를 들어, 입력 문자열의 경우 문자열
s = "fo)o)fus()(bar((em)ro(em))dah((y(XXX)"
를 나는 기대 : 그것은 결과처럼
fus()((em)ro(em))dah(XXX)
모든 "건강한"블록을 포함해야 , 그들 사이에 열린 "("및 닫힌 ")"+ "건강한"텍스트가 있습니다. "()"에 관여하지 않고 "()"사이에 없거나 "()"에 포함되어 있지 않기 때문에 모든 아픈 부분을 제거해야합니다 (0123) 검사 예 :
z = "))(OMG)123(()qwe(zxc)(ll"
이 (OMG)123()qwe(zxc)
나는 그것이해서 같은 re
모듈로 해결 될 수 있다는 것이다 반환해야합니다. 하지만 어떤 알고리즘을 사용해야하는지 잘 모르겠습니다.
추신 : 나는 어떤 도움도 거부하지 않을 것입니다. :)
지금까지 무엇을 생각해 냈습니까? – Jan
나는 괄호를 숫자를 증가/감소시키고, 인덱스로 매핑하고, 포함되어야하는 부분을 얻으려고 노력했다. ) fus() bar ((em) ro (em)) dah ((y (XXX)) -1 -2 -1 -2 -1 0 1 0 1 0 -1 -2 -1 0 1 0 –
그리고 역방향 모드로 이동하는 경우 : 색인이 x에서 x + 1로 증가 할 때 -> 추가해야합니다. 그렇지 않으면 -> –