🎉

Haskellで競技プログラミングがしたい!Part1 勉強方針

2023/11/11に公開

自己紹介

こんにちは、ぱりーにと申します!
私は普段業務でC#、Golangあたりを使っているバックエンドエンジニアです。
Kubernetesが好きなのでCertified Kubernetes Administrator(CKA)を取得したりしましたが、実際に業務で使っているのはAzure FunctionsやAzure Container Appsが多いです。
最近はRust、Haskellを勉強しています。

経緯

今まで何度か競技プログラミングにチャレンジしようとしたのですがなかなか挑戦できず...
1回だけAtcoder Beginner Contestに参加して以降なかなか取り組めていませんでした。

しかし、Haskellを勉強し始めてからHaskell自体の面白さを感じ、また競技プログラミングの問題を関数型で書いてうまく抽象化できた時にとても感動しました!
なのでこの「Haskell×競技プログラミング」という組み合わせで進めていけば楽しく勉強できそうだなと思い始めました。

勉強の方針

問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本を使って学習していきます。
https://gihyo.jp/book/2022/978-4-297-12521-9

また、この本はAtcoderと連携しており、練習問題がこのプラットフォーム上にあるのでここのサイトで学習していきます。
ゴールはこの本で用意されている練習問題をHaskellで解き切ることとしています。
https://atcoder.jp/contests/math-and-algorithm/tasks

実行環境はGithub Codespacesで作ることのできるデフォルト環境にHaskellをインストールして開発やテストをします。
仕事で開発するときもほぼ100%Codespaces上で開発しており、とても愛用しています!
https://github.co.jp/features/codespaces

最後に

次回Part2以降では、実際に問題を開き、1つずつHaskellで記述して問題を解いていきたいと思います。
読んでいただきありがとうございました!

GitHubで編集を提案

Discussion