# Pitfalls of bracket sequence validation (part c694)

Каждая учебная задача таит пару-тройку грабель; вот они.

## Задача

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

## Решение

```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) по памяти в худшем случае.


## Частые ошибки

1. **Не обрабатывать крайние случаи.** Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
2. **Смешивать типы данных.** Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
3. **Писать код без проверки на маленьких примерах.** Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Заметив такую ошибку в чужом коде, вы уже мыслите как ревьюер.

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

[сверяется](https://drop.xtrafrancyz.net/selif/uswykxrtot.pdf) · [Частые](https://statics.pancake.vn/web-media-264/4c/ed/73/67/cb56ab91ad54876904379dd205fb11bcf2c0b1d148af3bf060c11d9c.pdf) · [задача](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [конце](https://privatebin.devol.it/?4a71e44ad0a67fb7#87tR1BVz67jq1xZxGYsfG639cioXXyHed8gSkq2BrssN) · [числа](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-c7f943.pdf) · [работы](https://articlescad.com/vermeil-in-gold-wallpaper-380461.html) · [применение](https://rentry.co/laeyanah-246148) · [return](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/playful-innocence-8a6f20.pdf) · [обрабатывать](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [вершиной](https://radicle.network/nodes/seed.pipapo.org/rad%3Az25ggP5bKHHiAHdyQ7vooWgjR1dBY/issues/e88b37db93b986405e3934a7945d1fe0ce41cdaf) · [Писать](https://www.imagefap.com/pictures/14229905/aricia) · [по-разному](https://rentry.co/nsfwhentai-937373) · [ревьюер](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [считать](https://paper.wf/sofia1971897/nyk-znjy-mjmw-bhy-lldhkwr-lswd-wlns-l-rby) · [отрицательные](https://makercollective.xyz/thattgirlllll+nude?f=instapaper) · [памяти](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/coakland-penny-17a68e.pdf) · [неочевидных](https://discuss.tchncs.de/post/65439672) · [Смешивать](https://yakihonne.com/article/naddr1qvzqqqr4gupzqa70d9sp6mervp5fpzkv0zgxzgmt7xqljp6ryju0ext8psmfhdceqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkvwfkvv6rycfk95ckzdr9956rgctz943rxvfs95erwcnyx4jn2vr9x5unzx6c9pd) · [верна](https://rimworld.gallery/m/random/t/16293) · [вручную](https://statics.pancake.vn/web-media-264/6a/d4/ee/d5/e9b40cbd8487ff1b77fadbdc8f44baa3e78b2729a79e910f917156cb.pdf)

