# Step-by-step: bracket sequence validation (part 2c47)

Медленный разбор помогает понять код, а не просто скопировать его.

## Задача

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

## Решение

```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. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

Когда каждый шаг понятен, доработка решения перестаёт быть лотереей.

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

[работает](https://drop.xtrafrancyz.net/selif/c7nxpu8q19.pdf) · [функцию](https://yakihonne.com/article/naddr1qvzqqqr4gupzpptv9zy3fd84e6gyctk06njt0whgcc2dlqnq8nk0p2ktt47q6z0vqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknvdrpv5en2dfh94jxgctx956xgdrz943rzwrr94jx2dfevymnwc3hxfnrygn38s6) · [здесь](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az3kmURAbjeunbv8GFRXCUaDLRLcY5/issues/e8873366b1a7a0e41960d89657b4737cd353f525) · [вершиной](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [False](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [крайние](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/babyyurin-2880c9.pdf) · [Разбор](https://pen.absturztau.be/oz63a0cb/tailson-silva-xvideos-gallery-gay-porn-movies-1080p) · [какие](https://rimworld.gallery/m/random/t/16306) · [корректными](https://ecosta54.wixsite.com/my-site-1/post/%E9%93%83%E6%9C%A8%E4%B8%80%E5%BD%BB-av) · [понять](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/maria-d-alessio-onlyfans-addea2.pdf) · [возвращаемое](https://statics.pancake.vn/web-media-264/29/89/bf/27/a10862258bfe12e1becbe8e3a24fa4e9c29336be981eab4b105ab972.pdf) · [применение](https://writefreely.ethibox.fr/ozbb5198/livecamhot) · [stack](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [return](https://drop.xtrafrancyz.net/selif/14r66nryn5.pdf) · [условию](https://sway.cloud.microsoft/pcwGMQqcION9aGQM) · [скобка](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kat4martynova-nude-643427.pdf) · [происходит](https://paper.wf/petraweber74log/baba-bruno-cock) · [закрывающая](https://paper.wf/dianabraun83log/eda-gokcen-kaya-nude) · [разбор](https://radicle.network/nodes/index.radicle.garden/rad%3Az3fnEzxsF6FVm1yQEnu13UAQNQneG/issues/97bfa042a1cdf68f5130ee95f88e061ab243fa94) · [Результат](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nita-starsession-8a252e.pdf) · [итерации](https://articlescad.com/artemova-kate-onlyfans-leak-nude-photos-collection-2024-381817.html) · [последовательность](https://hey.xyz/posts/3trrd76vwt3068ggzm0) · [Именно](https://radicle.network/nodes/seed.cielago.xyz/rad%3AznRW3pHNuNdUweEGKKkCFFojwGpG/issues/158f2aed9fc3bcd6f5abb3c603ee61daf5a7d7c4) · [Проверяем](https://news-ctl-posts.hashnode.dev/walking-through-merge-sort-part-4d8d) · [доработка](https://articlescad.com/anxious-panda-folder-382176.html)

