Otrzymasz (ewentualnie pusty) ciąg zawierający nawiasy kwadratowe ( [{()}]) i wszelkie inne znaki ( A- Z, a- z, 0- 9, interpunkcja). Musisz sprawdzić, czy przestrzega następujących zasad:
- Znaki bez nawiasów są ignorowane.
- Każdy otwarty wspornik
[{(ma zamykający wspornik)}]. Więc[](nie jest dozwolone. - Wsporniki są prawidłowo zagnieżdżone.
[(])nie jest dozwolone. - Nawiasy klamrowe nie mogą zawierać nawiasów kwadratowych. Proste nawiasy kwadratowe nie mogą zawierać nawiasów klamrowych ani kwadratowych. Tak
[({})],[{[]}]i({})nie są dozwolone. Nawiasy można zagnieżdżać za pomocą podobnych nawiasów, więc[[{((()))}{{(())}}]()]{()}jest to dozwolone.
Dane wyjściowe to jedna wartość true / falsey zgodnie z wyborem.
Najkrótszy kod wygrywa.
Przypadki testowe
b[[a{(/)}(())+={{}-}],] -> Ważne
([h][e][l][l][o]) -> Niepoprawny
[///[{(\/(arg()))}1{{((-)-2)}}]()]{()} -> Ważne
hi -> Ważne