# Two ways to solve bracket sequence validation (part 2fa1)

Покажу решение и коротко сравню его с альтернативным подходом.

## Задача

Проверить, правильно ли расставлены скобки в строке из символов `()[]{}`.

## Решение

```python
def is_balanced(s: str) -> bool:
    pairs = {')': '(', ']': '[', '}': '{'}
    stack = []
    for ch in s:
        if ch in '([{':
            stack.append(ch)
        elif ch in pairs:
            if not stack or stack.pop() != pairs[ch]:
                return False
    return not stack


print(is_balanced("([]{})") )
```

## Как это работает

Это классическое применение стека: открывающая скобка кладётся наверх, закрывающая сверяется с вершиной. Если в конце стек пуст — последовательность верна.

## Пример работы

```text
True
```

## Сложность

O(n) по времени, O(n) по памяти в худшем случае.


## Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Оба подхода рабочие; важно понимать цену каждого, а не копировать первый попавшийся.

**Читайте также:**

[альтернативным](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-d3c45e.pdf) · [Альтернативный](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/xprensesx-9b7038.pdf) · [первый](https://articlescad.com/get-an-intimate-look-at-veronica-perasso-s-life-on-onlyfans-378058.html) · [библиотеку](https://privatebin.devol.it/?e75b2efe11d51109#YgFroRbSa5fdZC195My4PHct7ikaAprU3vKyb6z6r8K) · [вместо](https://rimworld.gallery/m/random/t/16307) · [ручное](https://cewdc.org/elwebbs+biz?f=instapaper) · [подход](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/paradisebirds-casey-stasy-ad39f0.pdf) · [правильно](https://paper.wf/petraklein73log/all-kannada-sex-videos) · [работает](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/xprensesx-89afc7.pdf) · [лучше](https://kappa.lol/CY3N8b) · [сравню](https://fleursdesiametailleurs.com/xvideo+da+amanda+lisboa?f=linkcentre) · [механику](https://rentry.co/lustylizard-116003) · [сверяется](https://sway.cloud.microsoft/FPIaFVSWlxThOMg2) · [копировать](https://ecency.com/@jiribenes1878/laylaray-7039f8) · [stack](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/g-ncel-t-rk-if-a-446420.pdf) · [Альтернатива](https://video.nudes.wiki/soft+hentai?f=instapaper) · [наверх](https://jaflysilve.freeflarum.com/d/670-670-jung-und-frei-nudes) · [скобки](https://yakihonne.com/article/naddr1qvzqqqr4gupzpgm85eqmxvxfdrcy5ynkrvktcd2y5558hk3qc6635myjlpajkdsfqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykn2vnpxp3xvd3h95enwd3j956rvces95uxve3s943ngcnzxfjkyvmxv3nrqnv7zwr) · [stack.pop](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [одинаковых](https://montage51297.mataroa.blog/blog/ejemplos-de-emprendimiento-digital/) · [решение](https://kappa.lol/iygtLk) · [последовательность](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-2d73d4.pdf) · [кладётся](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-6c3186.pdf) · [задачу](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [попавшийся](https://news-ctl-posts.hashnode.dev/understanding-the-sieve-of-eratosthenes) · [закрывающая](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [ручной](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/reverse-string-razbor-mv9zlo8c.md)

