こんにちは。倉内です。
paizaではスキルチェックや動画学習講座といったプログラミング学習コンテンツを提供していますが、ゲーム感覚で楽しみながら学べるPOH(Paiza Online Hackathon)などエンタメコンテンツもご用意しています。
POHで出題される問題は、初心者の方も楽しめる簡単な問題からアルゴリズムを駆使して解答するような上級者向けのものまでさまざまです。
そこで今回は、7月28日に公開を控えたSTEINS;GATE(シュタインズ・ゲート)とのコラボに備えて、連休中に楽しくプログラミング学習ができる方法をお伝えします。
解説や解答コード例を掲載した記事も合わせて紹介しますので、ぜひご自身のレベルに合わせて活用してみてください!
なお、難易度のpaizaランクというのはスキルチェックのランクを示しています。S・A・B・C・D・Eの6段階でSがもっとも難易度が高い問題です。スキルチェックについて詳しくはこちら
エンジニアが死滅した世界
難易度:★★★/想定paizaランク:A~E
通称『ぼっち』は、エンジニアだけが感染する致死性の「Eウイルス」が蔓延し、地球上すべてのエンジニアが死滅した中で、あなたがアンドロイドのRINと一緒に文明社会を取り戻すというストーリーになっています。
廃墟と化したマップに点在するプログラミング問題を解くことで、アイテムやRINの着せ替え衣装をゲットできます。
問題紹介と解答コード例・解説
Cランク問題
Pythonの解答コード例あり
文字列操作の理解が必要な問題です。
「プログラミングの基礎は学習し終えたけど、まだあまりコードを書くことに慣れていない」という人にも取り組んでいただけるよう、段階を踏んで解説しています。
Bランク問題
Pythonの解答コード例あり
与えられた単語を条件のもと結合して新たな単語を作り出すという問題です。
一見、Bランクにしては簡単に思えるのですが、間違いやすいポイントが隠れています。どこが難しい点なのか、どのように考えるといいかを図解しています。
Aランク問題
Python・Javaの解答コード例あり
決められた区画に効率よく建物を配置し、できるだけ多く利益を生み出すにはどうするとよいかを考える問題です。
配置時に建物が重なってはいけない、扉の位置を考慮する必要がある…などいくつかの制約があり、やや難易度が高い問題となっています。
ちなみに、すべての問題の解答コード例(Python)は以下の記事に掲載しています。
ロジックサマナー
難易度:★★★/想定paizaランク:B~D
通称『ロジサマ』は、さまざまな難易度の封印(プログラミング問題)を解いて物語を進める異世界ファンタジーRPGです。
ITエンジニアのあなたはひょんなことから異世界に迷い込み、召喚魔法(プログラミング)が使えるということで急に世界を救う伝説の召喚士として盛大に歓迎されてしまいます。世界に平和を取り戻すためにプログラミング問題に取り組みましょう!
問題紹介と解答コード例・解説
Bランク問題
Pythonの解答コード例あり
数学でもおなじみの「n×n 個の正方形の方陣に数字を配置し、縦・横・対角線のいずれの列についても、その列の数字の合計が同じになる魔方陣」の問題です。
この問題を解くためには配列の理解が欠かせません。nが小さい例で感覚を掴みながら問題を解けるよう解説しています。
Sランク問題
Pythonの解答コード例あり
H 行 W 列からなる、赤・青・緑のブロックの集まりから同色のブロックをできるだけ多く消していくという問題です。(上から落ちてはきませんが、ぷよ○よをイメージすると分かりやすいかと……)
さまざまな解き方があるため、単純なコードを書いたあと最適化していくにはどうするかを考える練習にもおすすめです。
プログラミングで彼女をつくる
難易度:★★★/想定paizaランク:A 〜 E
プログラミング問題を解くことで着せかえ衣装をたくさん集めることができます。アンドロイドの彼女をかわいく着せ替えてあげましょう!
問題紹介と解答コード例・解説
Bランク問題・Aランク問題
Python・Swiftの解答コード例あり
上記記事では、難易度が高いAランク問題とBランク問題の解答コード例と、そのうちの2つについて解説しています。
特にAランク問題のほうは階乗が分からないとなかなか解き方が思いつかないと思いますので、解説を見て理解していただければと思います。
推しと学べるプログラミング
難易度:★/想定paizaランク:C~E
通称『推しプロ』は、近未来のエンジニア育成施設を舞台に個性豊かなITエンジニアたちと一緒にプログラミングを学んで、国際テロ組織に立ち向かうというストーリーになっています。
ここまで紹介してきた3つよりも難易度的にはかなり取り掛かりやすいので、まだコードをほとんど書いたことがない方におすすめです。
また、書かれたコードの誤りを訂正したり四則演算したりといったクイズのような問題になっているので、これから習得したいプログラミング言語の基礎文法の定着にも最適です。
詳しい遊び方は以下の記事を参照してみてください。
paizaラーニングは、プログラミング初心者の方向けの「体験編」「入門編」講座も充実しています。Python・C#・PHP・Javaをはじめ主要言語に対応していますので、『推しプロ』で分からない問題があったときなどにぜひご活用ください。講座一覧はこちら
まとめ
ここまでゲーム感覚で遊びならがプログラミング学習ができるコンテンツを紹介してきました。
学習教材や書籍を使った学習ももちろん大切ですが、なかなか集中力が続かないなというときや行き詰まっているなと感じたときにうまく活用していただければと思います。
冒頭でもお知らせしたpaizaとSTEINS;GATE(シュタインズ・ゲート)とのコラボでは、プログラミングスキルを生かしていただけるようなイベントを予定しています。
連休を利用して、7月28日の公開前にぜひ実力アップに取り組んでいただければと思います。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら