勉強会について
URL: https://supporterzcolab.com/event/474/
@mosmos_21 さんおつかれさまでした!
登壇内で紹介されたURLページ
AtCoder
最近話題の日本語でアルゴリズムコンテストが出ているサービス。まずはここから始めてみよう。
ちなみにコンテスト体型はこんな感じ。(とても雑な図)
はじめての方はまずAtCoder Beginner Contest(ABC)へ!
補足:なんでAtCoderなの?
- 日本語でコンテストを受けることが出来る
- 時間帯が日本時間で参加しやすい(ほかは海外コンテストが多く、参加が難しい)
- 多様なプログラミング言語で解くことができる
- コンテストが定期的かつ高頻度で開催されており、継続しやすい
- 最近のビギナー向けコンテストでは回答例がついており、非常に丁寧
上記より、今から日本国内でプログラミングコンテストのアルゴリズムをやってみたいのであれば、AtCoderが一強と考えています。
AtCoderを始める
まずは10問で問題と考え方に慣れていこう!
AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita https://qiita.com/drken/items/fd4e5e3630d0f5859067
コンテストの結果を振り返ろう
このサイトでユーザーIDを打ち込むと見れます。統計情報を見るのもよし、ライバルと比べるのもよし。
AtCoder Problems https://kenkoooo.com/atcoder/
典型的なアルゴリズムを学ぼう
有志によるあり本の類題が挙げられているので、この辺をやってみましょう。
AtCoder 版!蟻本 (初級編) - Qiita https://qiita.com/drken/items/e77685614f3c6bf86f44
書籍
チーター本
初心者でも楽しめる問題がセレクトされており、ある程度のプログラミング経験がある人が競技プログラミングの雰囲気を知るのに向いているのかもしれません。
最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド https://www.amazon.co.jp/dp/4797367172/ref=cm_sw_r_tw_apa_NFXxBb61F60E4
最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド
- 作者: 高橋直大
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2012/09/27
- メディア: 単行本
- 購入: 9人 クリック: 319回
- この商品を含むブログ (8件) を見る
螺旋本
非常に基礎的なソートからグラフアルゴリズムまで、一般的な情報科学で学ぶようなアルゴリズムを学ぶことができます。
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 https://www.amazon.co.jp/dp/4839952957/ref=cm_sw_r_tw_apa_WGXxBb806D6C4
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
- 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)
- 出版社/メーカー: マイナビ
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
あり本
競技プログラミングでは典型的なアルゴリズムがまとまっています。一歩進んだ中級者以上におすすめです。
プログラミングコンテストチャレンジブック [第2版] 〜問題解決のアルゴリズム活用力とコーディングテクニックを鍛える〜 https://www.amazon.co.jp/dp/4839941068/ref=cm_sw_r_tw_apa_2HXxBb3A8AD84
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
- 作者: 秋葉拓哉,岩田陽一,北川宜稔
- 出版社/メーカー: マイナビ
- 発売日: 2012/01/28
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 473回
- この商品を含むブログ (36件) を見る
まとめ
固く言えば競技プログラミングはコンテストという遊びの側面が強い一方で、短時間で計算量と制約を想定し実装をしなければいけません。
その中でコーディング技術の向上、設計能力の向上が期待できます。
今転職や自分自身のコーディングスキルに自身のない方、ぜひこの機会に競技プログラミングを始めてみて、自分のエンジニアとしてのキャリア充実、エンジニアとして年齢や会社を超えたコミュニティに参加してみて、様々な経験をしてください。
競技プログラミングの世界はみんなで強くなって行こうという主体性・好奇心の強い集団です。 新しく始める方を暖かくサポートしますので、今日勉強会に参加してくれた人が継続的に続けてくれると嬉しいなと思います。