← クエスト一覧

クエスト82:スタックを実装しよう

スライド 1 / 6
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 82 / 85

クエスト82:スタックを実装しよう

発展 +10 XP
🏠
今回の課題
スタックに 1, 2, 3 を積んで、取り出した順(3→2→1)に表示しよう。
📖 解説を見る
📚 スタックって何?

「あと入れ先出し(LIFO)」のデータ構造です。最後に積んだものが、最初に取り出されます。積み上げた本を上から取るイメージです。

✏️ 書き方:
Python のリストで作れます。
stack.append(x) ← 積む(追加)
stack.pop() ← いちばん上を取り出す

📋 作るもの:
stack1 → 2 → 3 の順で積む
・中身が無くなるまでくり返して、上から1つずつ取り出す
・取り出すたびに、その値を表示する
・あと入れ先出しなので、表示は 3 → 2 → 1 の順になる

💡 どこで使う?

「元に戻す(Undo)」の履歴、ブラウザの『戻る』、関数の呼び出し順、かっこの対応チェックなど、「最後にやったことから戻したい」場面で使われます。

⚠️ ポイント:
pop() は最後に追加した要素を取り出す(LIFO)
while stack: は「中身がある間」くり返す
ヒントを見る
append で積んで、pop で取り出すよ。「中身がある間くり返す」は、while の条件にリストをそのまま書けばいい(空になると止まる)。
期待する出力
3
2
1
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: スタックを使って ['a', 'b', 'c'] を逆順(c→b→a)に表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
c b a
未挑戦

問題 2: スタックに [10, 20, 30] を積んだ後、一番上の要素(pop せずに)を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
30
未挑戦

問題 3: スタックで '((()))' の括弧が正しくペアか判定して True を表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
True
コピーしました!