paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

ゲーム感覚でPython学習!解説つきプログラミング問題まとめ

f:id:paiza:20200615185739j:plain
StartupStockPhotosによるPixabayからの画像

f:id:paiza:20180910132940p:plainこんにちは。倉内です。

プログラミングの基本文法を学んだあと、すぐにWebサービスやアプリケーションを作れるかというと…ちょっと難しいと感じる方が多いかと思います。

「こういうことがしたい」「こんな機能を実装したい」を実現するためには、たくさんコードを書いて経験を積む必要がありますし、どんなライブラリがあって、どう使うかなどもやはり自分でコードを書かないと身につきません。

もちろん必要な知識は多岐に渡りますが、まずはプログラミング問題をいろいろ解いてみることをおすすめします。ただ、初心者のうちは解答・解説がないと結局分からないままとなることもありますよね。

そこで今回は、解答コードや解説つきのプログラミング問題を集めました。ぜひ学習に役立てていただければと思います。特にPythonを学ぶ方が多いので、Pythonの解答があるものを優先して選んでいますが、同じ問題で複数言語の解答があるものも掲載しています。
 

前置き:問題の難易度表記について

paizaでは、問題の解答結果によって、S・A・B・C・D・Eの6段階でスキルランクを判定する「スキルチェック」というサービスを提供しています。

paizaのスキルチェック

初心者の方は、まず「プログラミングの初歩を理解できている」という目安のDランクの問題に挑戦してみましょう。

以降で紹介する問題にもランクが表記されていますので、ご自分のレベルに合わせて問題を選んでください。

プログラミングゲームで出題された問題

paizaでは、楽しくプログラミングを学べるさまざまなゲームやイベント形式のコンテンツを公開しています。コンテンツ一覧はこちら

今回は、その中からいくつかの問題をピックアップして解説した記事を紹介します。ゲームページに飛んでいただくとブラウザ上で問題の解答・提出もできますのでぜひ遊んでみてください。(paizaの無料会員登録が必要です)

なお、記事中の各キャンペーンは過去に開催されたものとなります。

エンジニアが死滅シタ世界

DランクからAランク相当の問題、計12問の解答例となるコードを掲載しています。コードはすべてPythonです。

paiza.hatenablog.com

上記のうちBランクの問題については、以下の記事で解説しています。

初めてBランクの問題に挑戦するという方向けに問題整理や方針の立て方も詳しくお伝えしています。

paiza.hatenablog.com

つづいて、さきに挙げた問題のうち一番難易度が高いAランク問題について、図を使って詳細に解説した記事はこちらです。

paiza.hatenablog.com

記事の後半では、より効率的な解き方などもお伝えしています。Pythonで解いていますが、Javaの解答コードも載せています。

8月13日はpaizaの日!怪盗paizaからの挑戦状

難易度の表記はありませんが、A~Bランク相当の問題についてJavaで解説しています。

paiza.hatenablog.com

この問題はいろいろなアルゴリズムを使って考えることができるため、記事で紹介した以外の解き方もたくさんあります。「アルゴリズムを勉強したい!」という方にもおすすめの問題となっています。

ロジックサマナー

Sランク相当の問題のPythonでの解答例と解説を掲載しています。

paiza.hatenablog.com

単純な解き方、効率的な解き方の両方を紹介しています。どういった点を工夫する必要があるかを詳しく説明していますので、両方の解き方の違いについても見てみると勉強になりそうです。

プログラミングで彼女をつくる

Aランク相当の問題をPythonで、Bランク相当の問題をSwiftで解いたコードと解説を掲載しています。

paiza.hatenablog.com

Aランク相当のほうは階乗の問題で、数学が苦手だと「うっ……」となるかもしれませんが、解説を見ながら克服していきましょう。

また、こちらの記事でもPythonの解答コードと、問題にチャレンジした方がブログ等で公開してくださったコードを紹介していますので参考にしてみてください。

paiza.hatenablog.com

番外編

ゲームコンテンツではありませんが、過去に出題したキャンペーン問題をPythonで解いたコードと解説を掲載している記事もありますのでご紹介します。難易度はA~Bランク相当となります。

paiza.hatenablog.com

こちらも2パターンの解法を載せています。実際に解くときもまずは部分的にでも分かるところから処理を書いてみる、テストケースが通らない原因を見つけて修正する、効率化するという流れでコードを書いていくとよいですね。(いきなり完璧を目指そうとすると行き詰まるので…)

スキルチェックの練習問題

入門~初心者向け

paizaでは、「スキルチェック入門編」という動画講座でランク別の問題解説をしています。

その中でも特に初めてプログラミング問題に挑戦する方向けに、Dランク問題を解くために必要なループや条件分岐の処理を扱った講座を紹介しているのが以下の記事です。

paiza.hatenablog.com

今度はCランク問題を解くためにどのようなアプローチをすればいいかを解説した記事を紹介します。

paiza.hatenablog.com

ここではテストケースや一部解答例を見ることができる「レベルアップ問題集」を使い、Dランク問題を解くために使った方法を組み合わせて、Cランク問題を解く過程をお伝えしています。

中級を目指す人向け

D・Cランクの問題に慣れてきたら、もう少し難しい問題に挑戦して関数や多次元配列を使ってコードを書いてみましょう。

以下の記事では、Aランク相当の問題を解きながらPythonの関数定義や再帰処理について解説しています。

paiza.hatenablog.com

さきほども紹介した「スキルチェック入門編」のBランク相当の問題を解く講座を使って、二次元配列について理解していきます。

この記事はJavaでの解説になりますが、考え方は参考になると思います。

paiza.hatenablog.com

標準入力について

これまで紹介した記事では、外部から値を取得するために標準入力を使っています。標準入力について、もっと詳しく知りたい方は以下の記事も参考にしてみてください。

paiza.hatenablog.com

次の記事では、特にPythonでのいろいろなパターンの標準入力について、コードつきで解説しています。

paiza.hatenablog.com

まとめ

プログラミング問題の解答コード掲載や解説をしている記事をまとめてご紹介しました。

さまざまな難易度の問題がありますので、少しずつレベルアップしてプログラミングスキルを身につけていくのに役立てていただければと思います。

なお、これからプログラミング学習を始める、またはPythonの基礎から学びたいという方は、まずは「Python3入門編」の受講がおすすめです。

paizaラーニングでは、Pythonの他にPHP、Ruby、Java、C、C#、JavaScriptの入門講座も公開しています。講座一覧はこちら




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら
paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら
paizaのスキルチェック

paizaのおすすめコンテンツ

PPG proken プログラミングゲーム「初恋 プログラミング研究会〜海に行こうよ〜」 PPG Bingo プログラミングゲーム「コードレビューBINGO!!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.