https://kenkoooo.com/atcoder/などが紹介されているため, あえて載せておきました. 2022/3時点で私が取り組んでいるのもまさにAtCoder Problemsです. 2022/1から再開して2022/3/13時点で300題中160題まで解いた状態です.
これ以外にもAtCoderのホームページ https://atcoder.jp/home の「常設中のコンテスト」を見ると, 次のような学習用コンテンツへのリンクがあります.
量が膨大なので圧倒されると思います. むしろ遊ぶネタがたくさんあると思ってのんびり取り組んでください. 上記AtCoderホームページ https://atcoder.jp/home の上から順に取り組めばいいでしょう.
AtCoderでは他の人が書いたプログラムも完全公開されています. 他の人のプログラムを読み解くのも非常に大事な勉強法です. AtCoder学習のいいところでもあります. ぜひAtCoderを使い倒してみてください.
一言で書きましょう. プログラムが短い点にあります. 短くても書くのは大変です. しかし他人が書いたプログラムを読むのは非常に大事な勉強法で, その読むのがとても楽なのです. 少なくともボリュームの点で.
アプリ開発・ゲーム開発では全体で1000行を越えるプログラムもふつうです. しかし競プロでの簡単な問題は一題ごとに10-20行程度で収まります. 言語によっては2-3行で書ける場合があります. 気楽に「空き時間にちょっと一題見てみよう」が成り立つレベルです.
このお手軽感は勉強を続ける上で決定的に大事です.
いまの時点で一点だけ注意します. このミニ講座や紹介した有料講座ではプログラミング言語としてPythonを採用しました. しかし上記の初心者向けプログラミングコンテンツでは, プログラミング言語としてC++を採用しています. これにはいくつかの理由があります.
特に後者が重要です. 慣れないプログラミング言語を読み書きするのは, 慣れない外国語でやり取りするのと同じくらい大変です. そもそも意思疎通できないことさえふつうです. そこで「競プロやるならもうはじめからC++にしてしまえばいいのでは?」という話です. 慣れていない人がC++の開発環境を作るのは楽ではありません. しかしAtCoder上でC++のプログラムを実行でき, そこで面倒な部分を吸収してくれています.
これも念のためいまの時点でフォローしておきます. 最近はPythonの応用が広がっていて, 本やコンテンツでもPythonを採用している本が増えています. もちろんアルゴリズムの本でもPythonを使っている本が増えているため, 本を読むならPythonで書かれたアルゴリズムの本を探すのも楽になっています. 無理にAtCoder公式サイトのコンテンツだけで勉強する必要もなければ, C++で競プロに取り組む必要もありません. C++に馴染めないと思ったらぜひ別の言語で競プロやアルゴリズム学習に取り組んでみてください.
今回はAtCoderにフォーカスして勉強する方法を紹介しました. 原則無料で勉強できますし, AtCoder以外にブログやTwitterでも質の高い学習情報を出してくれている人がたくさんいます. 実際に私もAtCoderでプログラムを読み書き倒して楽しんでいます.
どうしても合う・合わないはあるため, 無理に競プロ, 特にAtCoderに挑む必要はありません. しかし無料で遊び倒せる上, そこでいい成績をおさめていれば就職にも直接役立ちさえする面白いサービスです.
次回は競技プログラミング系の他のサービスや, アルゴリズム学習に関する本やコンテンツを紹介します. お楽しみに.
最後に改めて私の本家メルマガを案内します.
数学・物理・プログラミング, そしてそれらを学ぶ上で大事な英語を中心とした語学の情報を発信しています. もしあなたが私の活動や私からの情報に興味があるなら, ぜひ登録しておいてください. 新しいコンテンツを作ったときにもこのメルマガで案内します.
何かご意見や感想があれば次の読者アンケートまでお願いします.
回答は確約できませんが, 直接返事をご希望ならこのメールへの返信でも構いません.
またメールします.
Previous: 馬鹿みたいに計算しよう/中高数学駆け込み寺 素数判定の巻 Next: アルゴリズムをしっかり/中高数学駆け込み寺 素数判定の巻 back to top