🗂
PaizaランクSを取得した
挑戦し始めて2週間程度で達成できた。
背景
- 元々仕事でプログラムを書いている(20年以上)
- 以前に、2週間程度AtCoderの問題を解いていた
勉強内容
書籍の感想
アルゴリズム的思考力が身につく!プログラミングコンテストAtCoder入門
この本を5章くらいまでやった。が、練習問題に載っている問題の難しい問題に解説がない場合が多く、独学には向かないと判断した。たとえば、深さ優先探査のアルゴリズムがわからないのに、書籍には「自分で調べてください」と書かれていたり…。
一方で、同系統の豊富な練習問題を提示してくれているので「競技プログラミングの問題になれる」という点では非常に役に立った。
問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本
全体を軽くさらっとやった(本編のみ、最終確認問題は未)。背景となる数学の解説もしてくれているし、説明に図を多用しているので非常にわかりやすい。また、5章が「数学的考察」の章となっていて、「問題をどう解釈するか?」という内容になっている。
力技で解こうとすると面倒な問題でも考え方を変えるだけであっさり解ける問題もある。こういった知っている知識の中の様々な角度から問題を考えてみる、というアプローチの大事さを学んだことがPaizaランクSの取得に大きく貢献したと思う。
PaizaランクS について
- 何かの記事でAtCoderの茶色程度とあった
- 前述のAtCoderの書籍に載っているABCのCの問題(Difficulty ~600程度)の問題は大抵解ける(時間をかければ)
- 「アルゴリズム×数学」の☆が4つ以上の問題は大抵解けない
- つまり、少しアルゴリズムとデータ構造のことをカジりました、程度
Paizaの場合、提出のチャンスが1回のみである一方で時間的な制約がゆるい、という特徴がある。実際、自分がSランクを取得できた問題では、実装方針で迷走して1時間程度余分に使ってしまった(その問題の平均提出時間よりも大分遅い)が問題なく合格できた。
まとめ
- 転職に少しでも有利になればと思って初めて競技プログラミングの勉強をしてみたが、楽しい
- 単純にコーディングが好きなだけな気もする
- アルゴリズムができます、というにはAtCoderの水色くらいは必要らしい
- 引き続き勉強が必要
Discussion