長期投資シミュレーションツール『Tousimu』をリリースしました!

【解答付き】paizaのスキルチェック過去問題「検索履歴(Cランク)」を解説!

プログラミング
スポンサーリンク

この記事では

プログラミング学習サービスpaizaラーニング

スキルチェックレベルアップ問題集をわかりやすく解説します!

プログラミング言語はpythonです。

今回はCランク相当の以下の問題を解説します。

ぜひご参考ください!

またpaizaの各ランクの攻略法は

こちらで詳しく紹介しているので、ぜひご参考ください!

スポンサーリンク

検索履歴 (paizaランク C 相当)の解答と解説

今回の問題は「 検索履歴(paizaランク C 相当)」です。

問題はこちらからご確認ください。

検索履歴 (paizaランク C 相当)

この問題を解くのに必要な知識は8つです。

必要な知識
  • 入力を受け取る
  • str型からint型に変換
  • 改行区切りの入力を受け取る
  • リストの要素を追加
  • リスト内に同じ要素がないか条件を課す
  • リストの要素を削除
  • リストを逆順に並び替え
  • リストの各要素を改行区切りで出力

この記事では、上記の8つの中で

  • リスト内に同じ要素がないかで条件を課す
  • リストを逆順に並び替え
  • リストの各要素を改行区切りで出力

の3つを詳しく解説します。

残りの

については、以下の記事をご参考ください!

リスト内に同じ要素がないかで条件を課す

まずは「リスト内に同じ要素がないかで条件を課す」です。

今回の問題は、最初に入力される検索ワードの数が入力され

その後に改行区切りで検索ワードが入力されます。

そのためまずは変数とリストを使って入力を受け取ります。

# 検索ワードの数の入力を受け取る
num = int(input())

# 検索ワードを受け取るリスト
words = []

# 検索ワードの入力を受け取り、リストに格納
for _ in range(num):
    input_word = input()
    words.append(input_word)

for文については、こちらをご参考ください!

次に検索ワードの入力を受け取る際に

履歴中の同じ検索ワードを削除し

履歴の先頭に新たにそのワードを追加しなければなりません。

そのため「リスト内に同じ要素がないか」で条件を課して

同じ要素がある場合、removeメソッドを使ってその要素を削除します。

# 検索ワードの入力を受け取り、リストに格納
for _ in range(num):
    input_word = input()
    
    # リスト内に同じ要素がある場合
    if word in words:
        # その要素を削除
        words.remove(word)
    words.append(input_word)

if文とリストについては、こちらをご参考ください!

リストを逆順に並び替え

次は「リストを逆順に並び替え」です。

今回の問題では、履歴中の検索ワードを新しい順に出力します。

そのためリストの要素を逆順に並び替える必要があるので

reversed関数を使います。

reversed関数の使い方

reversed((リスト))

# リストの要素を逆順に並び替える
reversed_words = reversed(words)

リストの各要素を改行区切りで出力

最後は「リストの各要素を改行区切りで出力」です。

今回の問題では、履歴中の検索ワードを改行区切りで出力します。

そのためfor文を使って、リストの各要素を出力します。

# リストの要素を逆順に並び替える
reversed_words = reversed(words)

# リストの要素を改行区切りで出力
for word in reversed_words:
    print(word)

また、新たに変数を置かずに要素を逆順に並び替えるとよりシンプルです。

# リストの要素を逆順に並び替え、改行区切りで出力
for word in reversed(words):
    print(word)

for文については、こちらをご参考ください!

検索履歴 (paizaランク C 相当)の解答

まとめると「検索履歴 (paizaランク C 相当)」の解答は以下です。

# 検索ワードの数の入力を受け取る
num = int(input())

# 検索ワードを受け取るリスト
words = []

# 検索ワードの入力を受け取り、リストに格納
for _ in range(num):
    input_word = input()
    words.append(input_word)

# リストの要素を逆順に並び替え、改行区切りで出力
for word in reversed(words):
    print(word)

この問題では、「for文とif文の組み合わせ」が必要になりました。

しかしここまで解説したように、処理を分割しそれぞれを一つ一つ見ていくと

基本通りの内容で特に難しいものは無かったかと思います。

ぜひ他の問題も処理の流れをイメージし

そして分割した上で問題に取り組んでいきましょう!

スポンサーリンク

まとめ

今回はpaizaのスキルチェック過去問題の中で

  • 検索履歴(paizaランク C 相当)

の解答と解説を紹介しました。

Cランクの問題からは必ずif文またはfor文が登場し

Dランクの問題に比べて、コードが複雑になります。

そのためコードを書き始める前に

頭の中で処理の流れをイメージをしてから書いていくのがおすすめです!

また他のレベルアップ問題集の問題についての解説も、ぜひご参考ください!

Pythonを学びたいと思っているけど

  • プログラミングスクールに数十万円も払えない・・・
  • 独学だとどうやって学んだらいいかわからない・・・
  • Pythonのインストールや環境構築がよくわからない・・・

といったお悩みを抱えている方はいませんか?

Pythonの学習はオンライン学習サービスのPyQがおすすめです!

PyQ

PyQの特徴は圧倒的なコストパフォーマンスで

たった月額3,040円で以下のPythonに関する内容が学び放題です!

PyQで学べる内容
  • プログラミングの基本
  • Python入門〜中級
  • ユニットテスト、設計
  • Webアプリ開発
  • Django(Pythonを使ったWebアプリ開発のフレームワーク)
  • スクレイピング
  • データ解析
  • 機械学習
  • 統計入門
  • アルゴリズム

またブラウザ上でコードを書いて学習できるため

面倒なPythonのインストールや環境構築なども一切不要です!

実際に私もプログラミングを始めた頃に利用していて

PyQを一通りやり終えた後は

  • Djangoを使ったポートフォリオの制作
  • スクレイピングによる作業の自動化
  • ディープラーニング

などのプログラムを自分で書けるようになり

paizaのスキルチェックでもSランクを所得しました!

PyQは登録後すぐに学習を開始できるので

Pythonの学習方法でお悩みの方は、今すぐPyQで学習をスタートしましょう!

しかし

  • 独学で挫折した経験がある・・・
  • 短期間でpythonを習得したい!
  • プロのエンジニアからpythonを学びたい!

という方は、PyQでの独学よりも

プログラミングスクールでの学習が最適かもしれません!

pythonが学べるおすすめのプログラミングスクールはこちら!

TechAcademy Pythonコース

おすすめスクールNo.1:TechAcademy Pythonコース

TechAcademyがおすすめな理由
  • 学習システムを1週間無料で体験できる!
  • 完全オンラインだから、忙しくても続けられる!
  • 各受講生に現役エンジニアのメンターがつく!

DIVE INTO CODE エキスパートAIコース

おすすめスクールNo.2:DIVE INTO CODE エキスパートAIコース

DIVE INTO CODEがおすすめな理由
  • 本気の人のためのスクール!事前テストで選考あり!
  • 無料説明会&体験セミナーあり!
  • 通学 or オンラインが選択できる!

CodeCamp Pythonデータサイエンスコース

おすすめスクールNo.3:CodeCamp Pythonデータサイエンスコース

DIVE INTO CODEがおすすめな理由
  • 無料体験レッスン受講で10,000円引き
  • 受講者数30,000人超えの圧倒的な実績!
  • レッスン満足度96.6%

ぜひ自分に合った学習方法でPythonを習得しましょう!

プログラミング paizaでSランク!
スポンサーリンク
Follow Me!
スポンサーリンク
まろぶろぐ
タイトルとURLをコピーしました