ここ数日、プログラミングの演習問題(Paizaのレベルアップ問題集)をRubyで少しづつ解いてました。
Dランクの演習問題とスキルチェック問題が(現在出ている分について)終わってからは、少し難易度が上がったCランクの演習問題に取りかかっています。Cランクということもあり、なかなか一筋縄ではいかない。
Cランクの問題文が求める処理を行うためには、いくつかの繰り返し(for文)や条件判定(if文)を上手く組み合わせる必要があり、それによって書くことになるコードがDランクのときに比べてかなり長くなってます。加えて、文字列や配列を処理するために、数多くのメソッドを十分に使いこなせることも要求されてきます。
なかなか途中のテストデータが通らず、何度も調べものをしてコードを修正してからの再提出を繰り返し、ようやく全部のテストデータを通してクリアできた問題もいくつかありました。
レベルアップ問題集のCランクの演習問題(Ruby編)が、出ている分について全部終わった。ランクB以上は現時点では手に負えないので、今回はスルー。


演習問題が終わったので、力試しのつもりで、本番のCランクのスキルチェック問題にチャレンジします。タイトルと正解率から難易度が簡単そうと判断できる問題を選んで突撃。今回は「C019完全数とほぼ完全数」を選択して、Rubyで解答。
初めてのCランクのスキルチェックだったことから、緊張しながらコードを書いてました。今回チャレンジした問題の内容については規約上の理由で口外できないため伏せておきますが、for文、if文、配列の基本ができて、いくつかのメソッドを使えれば何とかなりました。
そして、解答を提出した結果、見事満点でクリア。解答時間についても、標準解答時間内(時間による減点が開始されない)に収まりました。便利なメソッドが数多く実装されているRubyで解答したから何とかなった感じです。

Cランクのスキルチェック問題を満点でクリアしたことで、PaizaランクがD→Cとランクアップ。「初級プログラマー」(Paiza基準)になれました。
ここで他のCランクのスキルチェック問題にも手を出そうと思いましたが、現状だと難易度が高い(正解率が低いなど)問題に当たると、手も足も出ない気がします。このことから、他のスキルチェック問題に取りかかる前に、もう少し演習を繰り返して場数を踏むことが先かな?
レベルアップ問題集のCランク問題は終わったので、次はPaizaに置いてあるいくつかの学習用ゲームアプリ(難易度Cランクが対象に入っているもの)を回ってきます。