daisuzz.log

競技プログラミングを始めてみました

エンジニアとして開発業務をおこなっていく中で、アルゴリズムやデータ構造を考慮して実行速度などをほとんど意識せずにプログラムを書いてしまっているなー、と最近危機感を持ち始めたので勉強もかねて競技プログラミングを始めてみました。

まず、大学の講義の復習も兼ねて以下2冊を購入して基本的な知識を復習していきました。2冊とも気軽に空き時間に読むことができるので、リスト, 木, グラフなどのデータ構造や、ソートなどのアルゴリズムの基本を復習するのにはとても役に立つ本です。

Java データ構造とアルゴリズム基礎講座

Java データ構造とアルゴリズム基礎講座

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

さすがに上記の本だけだと学生の授業のおさらいで終わってしまうので、学生の頃に登録だけして放置されていたAtCoderの問題を最近は解いています。今は、以下のdrkenさんのQiitaの記事や、過去問サイト(AtCoder Problems)を参考に「動的計画法」や「累積和」,「尺取り法」などを絶賛勉強中です。

qiita.com

qiita.com

自分の今の実力はAtCoderのABCのD問題が解けるか解けないかという辺りなので、コンテストに定期的に参加して半年後にAtCoder水を目指してこれから頑張っていきたいと思います。

おしまい。