당신은 문자열이 제공 s
됩니다. 문자열은 적어도 하나 이상의 [
s와 ]
s를 갖습니다 . 브래킷이 균형을 이루도록 보장됩니다. 문자열은 다른 문자를 가질 수도 있습니다.
목적은 출력 인 / 튜플리스트 또는 각각의 지표 함유리스트 목록을 반환 [
하고 ]
한쌍.
참고 : 문자열은 인덱스가 0입니다.
예 :
!^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]
반환해야합니다
[(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]
또는 이것과 동등한 것. 튜플은 필요하지 않습니다. 리스트도 사용할 수 있습니다.
테스트 사례 :
input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f]
output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, 38), (39, 43)]
input:[[][][][]][[][][][[[[(]]]]]))
output:[(0, 9), (1, 2), (3, 4), (5, 6), (7, 8), (10,26),(11, 12), (13, 14), (15, 16), (17, 25), (18, 24), (19, 23), (20, 22)]
input:[][][[]]
output:[(0, 1), (2, 3), (4, 7), (5, 6)]
input:[[[[[asd]as]sd]df]fgf][][]
output:[(0, 21), (1, 17), (2, 14), (3, 11), (4, 8), (22, 23), (24, 25)]
input:[]
output:[(0,1)]
input:[[(])]
output:[(0, 5), (1, 3)]
이것은 code-golf 이므로 각 프로그래밍 언어에 대한 가장 짧은 바이트 단위의 코드가 이깁니다.