広告スペース(バナー)
🐦Swift レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 63 / 68

括弧の対応をチェックしよう(スタックの応用)

このレッスンでは、Swiftでスタックを使って括弧の対応をチェックする方法を学び、スタックというデータ構造の実用的な応用を理解することを目標にします。「Swift 括弧チェック スタック応用」で調べている方向けです。

スタック(後入れ先出し)を使うと、([のような開き括弧を積んでおき、閉じ括弧が来るたびに一番上と対応しているか確認する、という方法で括弧の対応チェックができます。

サンプルコードでは、pairsという辞書で閉じ括弧に対応する開き括弧を管理し、開き括弧が来たらstack.append(ch)、閉じ括弧が来たらstack.removeLast()で取り出してスタックの一番上と一致するか確認しています。すべて処理し終えてスタックが空であれば、括弧のバランスが取れていると判定できます。

初心者がよくつまずくのが、括弧の種類が複数ある場合(丸括弧・角括弧・波括弧が混在する場合)の対応関係です。単に開閉の数を数えるだけでは不十分で、正しい順序でネストしているかまで確認する必要があります。

エディタの入力補完やコードのシンタックスチェックの裏側でも、似た考え方が使われています。HTMLタグの開閉タグが正しく対応しているかをチェックする、似た仕組みのツールもたくさん存在します。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではSwiftを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
コード中のカッコの対応が取れているかをチェックする、簡単なツールが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)