はじめに
paizaスキルチェックでSランクになりました。
今思えばSランクになるまでずいぶんと遠回りしたなぁ・・・と思いましたので、最初からこうしておけばよかった!という方法を共有します。
また、初めて書くQiitaブログですので、技術的な話に限らず、記事の書き方などについてなど、いろんなアドバイスを頂けますと嬉しいです
目次
- paizaスキルチェックについて
- この記事の対象者
- 執筆者がSランクになるまでの経緯
- 同じランクの問題にも種類がある
- 手っ取り早くランク上げたいならアルゴリズムを勉強しよう
- 問題の選び方
- 問題を解けるようになるまで
- まとめ
1.paizaスキルチェックについて
paizaスキルチェックでは、一度問題にチャレンジして不正解だと、もう一度その問題を解いてもランクやレートが上がらなくなってしまいます。
そうなると、スキルチェック問題を解いてランクを上げたいと思っても、何の対策もせずにチャレンジするのはちょっと怖いですよね。
そんな悩みを持っている方向けに
- paizaでAランク・Sランク問題を解くにあたって、どのくらい勉強したら受かりそうか
- paizaでAランク・Sランクになるための小技
を紹介します
2.この記事の対象者
- paizaスキルチェックでSランクになる方法を知りたい
- paizaスキルチェックでAランクになる方法を知りたい
- paizaスキルチェックで効率的に早くランクを上げる方法を知りたい
- if文for文レベルの簡単な文法を理解できる
3.執筆者がSランクになるまでの経緯
- 大学生の頃、paizaで勉強し始めて、Bランク問題まで解けるようになる
- いわゆる「プログラミング完全に理解した」状態になり、無計画にAランク問題に挑戦しまくるが、全部間違える
- しばらくスキルチェックから離れた後、AtCoderにハマる
- AtCoderで茶色ランクになる
- paizaスキルチェックでもSランクになる
4.同じランクの問題にも種類がある
Bランクまでの問題は似たような物が多く、求められるスキルや知識も大体同じですが、Aランク以上になってくると種類があります。
Aランク以上の問題には
- 問題文通りのロジックを実装するだけでなく、データ的な解釈をして実装する問題
- 条件が複雑に絡み合っている問題を高い精度で実装する問題
- 典型的なアルゴリズムを使って実装する問題
等があります。同じランクの問題でも求められるものが違うので、同じランクでも人によって解ける問題とそうでないものが分かれます。
5.手っ取り早くランク上げたいならアルゴリズムを勉強しよう
結論、手っ取り早くAランク以上になりたいなら、アルゴリズムの勉強をして、アルゴリズムを使う問題を解くことをお勧めします。
というのも、paizaに出てくるAランク以上の問題の中には、有名なアルゴリズムを使って、典型的な方法で解く問題がいくつかあるからです。
例えば動的計画法や幅優先探索みたいなアルゴリズムを使った問題は結構出ます。問題の内容も、アルゴリズムの書籍や、AtCoderの典型問題みたいなものが多いです。こういった問題は、その人の実装力より、「そのアルゴリズムを知っているかどうか」で解けるかが決まる問題なので、アルゴリズムの勉強さえすれば高確率でAランク以上の問題を解けるようになります。
6.問題タイトルから内容を予測しよう
あまり具体的な事を書くとpaizaの規約に違反しそうですが、paizaスキルチェックでは事前に問題のタイトルを知る事が出来ます。このタイトルから問題の内容が大きなヒントになります。これによって、典型的なアルゴリズムを使って実装する問題を選びます。
例えば「所得税の計算」なんてタイトルの問題があるとしたら、おそらく年収と課税所得別の税率のテーブルが標準入力で与えられて、支払う所得税を計算する問題なのかなあ?なんて予測が立てられます。これと同じように、問題のタイトルから有名なアルゴリズムを使いそうな問題を選びます。逆にこの予測を立てれないタイトルの問題は、自分が知らないアルゴリズムの問題か、アルゴリズムの知識より実装力が求められる問題の可能性が高いので、解かない方が賢明です。
7.問題を解けるようになるまで
典型的なアルゴリズムについて書かれている本を一通り読めばpaizaでSランクになれます。本に出てくるアルゴリズムを完璧に理解してなくても、アルゴリズムの概要と、そのアルゴリズムを使った典型的な問題を1つでも知っていればよいです。そうすれば問題のタイトルから自分の知ってるアルゴリズムで解けそうかどうがわかります。
おすすめの本は以下です
問題解決力を鍛える!アルゴリズムとデータ構造
https://www.amazon.co.jp/dp/B08PV83L3N/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
アルゴリズム実技検定 公式テキスト
https://www.amazon.co.jp/dp/B08QRNJ7M3/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
どちらも典型的なアルゴリズムについて体系的に学べるのでおすすめです。
8.まとめ
paizaスキルチェックでAランク以上になる手順は以下です
- アルゴリズムについて学ぶ
- 一通り問題のタイトルを確認し、自分の知ってるアルゴリズムで解けそうな問題を選ぶ
- 参考書の答えを参考にしながら問題を解く