ここでは「paizaラーニング」(paiza社)で公開されている「レベルアップ問題集」PHP編の解答例を記述しています。プログラミング初心者が書くコードなので最適解ではありません。アドバイス歓迎です!(*'ω'*)
問題数は、数えてみたら801問(2022年2月現在)ありました。難易度はリアルタイムの反映のようなので目安としてください。
ループメニュー1
簡単なループ処理のメニューです。レベルはDだけなので問題に慣れる練習としておススメです。
ループメニュー2
DランクやCランクの人にオススメのループ処理を使うメニューです。初心者向きで易しい問題が多かったです。
条件分岐メニュー
if文などの条件分岐を使うメニューです。有名なプログラム問題のFizzBuzzを記述できるようになります。
標準入力メニュー
プログラムを受け取るための一番はじめに覚える基本メニューです。難易度は超初級から1000以下のものが多かったです。
標準出力メニュー
プログラムを記述するための基本メニューです。1000行を出力したり、九九表を罫線入りで出力したりします。
算術・代入演算メニュー
足し算や累乗などの計算メニューです。難易度がすべて1000以下なので取り組みやすかったです。
論理演算メニュー
ANDやORなどの論理演算処理のメニューです。難易度は1200くらいからなので中級者向けな気がします。
配列メニュー
配列を使うメニューです。配列の何番目かを出力したりします。フィボナッチ数の出力ができるようになります。
二重ループメニュー
九九表のような二重ループを使うメニューです。
配列活用メニュー
最大値・最小値の取り出しや順序の入れ替えができるようになるメニューです。
線形探索メニュー
線形探索がどういったものか分からない方にオススメのメニューです。線形探索を複数回おこなって答えを得る手法を学習することができます。
文字列処理メニュー
文字列の検索・挿入・反転といった処理の習得を目指すメニューです。
Cランクレベルアップメニュー
Cランクを目指すメニューです。
Bランクレベルアップメニュー
Bランクを目指すメニューです。
Aランクレベルアップメニュー
Aランクを目指すメニューです。
データセット選択メニュー
問題を解くことで動的配列・文字列・辞書・集合などの取り扱いについて習得できるメニューです。
クエリメニュー
計算量について意識しはじめた方にオススメのメニューです。クエリ処理に便利なデータ構造やアルゴリズムの知識を身に付けることができます。
DPメニュー
Cランク以上の方にオススメのメニューです。初歩的なDPの問題が解けるようになります。
スタック・キューメニュー
DランクやCランクの人にオススメのメニューです。基礎的な文法が理解できた後に・アルゴリズムについて学習する前に取り組んでみてください。
素朴なソートアルゴリズムメニュー
挿入ソート、選択ソート、バブルソートの問題演習ができます。ソートを知らない方や、ソートの実装ができない方にオススメのメニューです。
効率的なソートアルゴリズムメニュー
素朴なソートアルゴリズムメニューの内容を理解している方にオススメのメニューです。シェルソート、マージソート、クイックソートの問題演習ができます。
二分探索メニュー
初歩的な二分探索の問題が解けるようになります。
ユークリッドの互除法メニュー
繰り返し・条件分岐・四則演算の問題が解けるようになってきた人にオススメのメニューです。ユークリッドの互除法や、その派生・関連アルゴリズムの知識がつきます。
素数メニュー
四則演算などの簡単な計算処理ができるようになった人におすすめのメニューです。素数に関する簡単な数学的操作ができるようになります。
クラス・構造体メニュー
Cランク以上の方にオススメのメニューです。クラス・構造体についての基本的な処理ができるようになります。
累積和メニュー
普通に解けば大きな計算量になってしまう問題を、累積和を使って解決することができるようになります。
ハッシュメニュー
DランクやCランクの人にオススメのメニューです。シンプルなハッシュ関数・ハッシュテーブルの実装ができるようになります。
グラフ構造の入力メニュー
グラフの概念や知識を知らない人や難しいアルゴリズムを設計できない人にオススメのメニューです。グラフの入出力や隣接行列や隣接リストの実装ができるようになります。