このページについて

このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。

見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。

挑戦する課題

レベルアップ問題集データセット選択メニューから「動的配列 (paizaランク D 相当)」を取り上げます。

以下は、問題公開 Web ページからの引用です。

問題

N 個の要素からなる数列 Aが与えられます。 A に対し、次の 3 つの操作をおこなうプログラムを作成してください。

  • push_back : Aの末尾に xを追加する
  • pop_back : Aの末尾を削除する
  • print : 数列 A を半角スペース区切りで出力する

入力される値

  • 1 行目に A の要素数 N、操作回数 Q が与えられます。 2 行目には A の各要素の値が与えられます。続く Q 行に各操作の情報が与えられます。各操作の情報は
または
または
の形式で与えられ、最初の数値が  0  のとき「 push_back」、 1 のとき「 pop_back」、 2 のとき「 print」を表します。

期待する出力

答えの数値を出力してください。

  • 末尾に改行を入れ、余計な文字、空行を含んではいけません。

最初数列 A は「 1 2 3」です。最初の操作は「 0 10」で「 push_back」なので、 A の末尾に 10 を追加して「 1 2 3 10」になります。 2 つ目の操作も同じく「 push_back」なので、 2 つ目の操作後Aは「 1 2 3 10 12」になります。 3 つ目の操作は「 print」なので数列A「 1 2 3 10 12」を出力します。 4 つ目の操作は「 pop_back」なので末尾の「 12」を削除して、数列Aは「 1 2 3 10」になります。最後 5 つ目の操作は「 print」なので数列Aの「 1 2 3 10」を出力します。

入力例1

出力例1

考え方

執筆中。

数列とあるが、具体的な演算を行うわけではないので文字列として扱う。

解答例