# Step-by-step: bracket sequence validation

Пройдём задачу шаг за шагом — такой формат удобен для первого знакомства с алгоритмами.

## Задача

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

## Решение

```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. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

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

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

[python](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/sakayanagi-7d868c.pdf) · [решения](https://sway.cloud.microsoft/p4V8dbZLx9M7r8Nf) · [return](https://dev.to/devnote2319/keeping-link-blocks-stable-across-platforms-u4eln-217b) · [Когда](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/spip-sarka-spip-collectif-sarka-spip-gpl-5f28d2.pdf) · [кладётся](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/meguri-fujiura-sub-indo-a0b961.pdf) · [последовательность](https://dev.to/devnote2319/keeping-link-blocks-stable-across-platforms-wftry-f09) · [скобка](https://articlescad.com/-422021.html) · [Основной](https://paper.wf/emmaschulz75log/sister-filatochka) · [считаются](https://elenamoreau878.overblog.fr/2026/11/nidhi-joshi-boobs-hot-desi-model-nude-topless-photos.html) · [каждой](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/use-me-to-stay-faithful-ellie-nova-9adb89.pdf) · [случаи](https://articlescad.com/sophie-rain-naked-photo-422081.html) · [изменениями](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3pirQSTNNtY7YznhnfwPfBvQ5ULq/issues/b36032d89a48a248fd9eb8c5065aa10bbd32806c) · [каждый](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-c1e3p-1kdk) · [Проверяем](https://pastebin.com/82CyxFY1) · [условию](https://kappa.lol/G3nOx2) · [соответствует](https://statics.pancake.vn/web-media-264/e3/06/a5/30/39dfb695b1e669ba9568dbd9275196d096f6dd9cb924bdae02fa6040.pdf) · [алгоритмами](https://secure.linkcentre.com/status/1738507/?from=submit) · [Сложность](https://blogfreely.net/nathannazarov26/watchme247-uncut-reality-real-amateur-sex-videos-and-pov) · [формат](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/ams-peach-a76e83.pdf) · [перестаёт](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-t8zmn-2f67) · [Результат](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-cxf88-3jho) · [Пройдём](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-168el-1d7i) · [итерации](https://stills48523.mataroa.blog/blog/ryma-bomba-leaks/) · [переменных](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-jxhlk-kbj) · [понятен](https://blogfreely.net/igorcollins26/erofus-3d-sex-and-porn-comics-gallery-3d-adult-toons) · [строке](https://sway.cloud.microsoft/uk3W8HErr2iKXHb8) · [stack.append(ch](https://rentry.org/signs-of-the-antichrist-144508)

