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

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

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

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

サンプルコードでは、$stackという配列をスタックとして使い、開き括弧のときはarray_push()、閉じ括弧のときはarray_pop()で取り出した値が正しいペアかどうかを$pairsという連想配列で確認しています。

初心者がよくつまずくのが、対応する括弧の種類が違う場合(閉じ括弧の種類が合わない場合)の判定です。単に開き括弧と閉じ括弧の数が一致しているだけでは不十分で、それぞれの種類が正しいペアになっているかまで確認する必要がある点が、このアルゴリズムのポイントです。

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

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

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

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