競技プログラミングサークルに参加してみて【初日】

今週の月曜日に競技プログラミングサークルに参加してきました。

参加理由

以下の理由から参加を決意しました。

  • プログラミングが遅いと感じていたため少しでも速くコードが書きたい
  • SPIのスコアが最底辺を掠めるので数学的な思考能力も鍛えたい
  • サークル加入による新たな学生プログラマーとの繋がりを持ちたい
  • 面接で有利になりたい

競技プログラミングとは

指定された問題をプログラミングを通し、いかに速く解くか競うプログラマーのスポーツという印象です。
サークルでは、AtCorderを利用し競技プログラミングの練習をするそうです。

実際に挑戦するぞ

サークルでは主にpythonc++を利用して問題を解くようです。
これらの言語を指定した理由としては、競技プログラミングで利用できる言語で大抵はサポートされているかららしいです。
個人的に、GoかRustを勉強しようと思っていたので、少し残念でしたが、pythonをほとんど触ったことがないので、これを良い機会にpyhonを使えるようになりたい!

そして、いざ問題を解くとなったのはいいものの、pyhonの構文が未知でした。
そもそもAtCorderでどうやって標準入力を受け取るのかも疑問でした。
これらを確認する前に初回とりあえず問題を解いてみようかという流れになったので、すったもんだでした。
まぁなんとかなるでしょ的なノリで、私も問題に取り掛かりました。

editorどうしよう問題

python3の環境なんてlocalにない。
python2ならあるけど、python3で問題を解きたかったため、web上でpython3を書けるオンラインエディタを探しました。

文字列受け取り問題

どうやって問題の標準入力受け取るの?こんな気持ちでした。
そしてググる。で、見つけたpython 競技プログラミングチートシート
これで、とりあえず入力方法を把握できたよ!

簡単な問題っぽいけど分からない問題

競技プログラミングA問題はこちらの内容でした。
特に考えず、forとかifとか使って挑戦し始めました。

で、気づいたら終了

問題はA~Eまであるそうですが、一歩も進めませんでした。
問題を解き終わるとサークル内で解けた人が解説してくれるみたいです。
拝聴させていただき、とっても簡単な四則演算で解けることを知り、心の中で涙を流しました。
forとかifとか何やってたんだろうね。。。
数学的な思考で取り組むことが大事だなぁとしみじみと感じました。

次はA問題をクリアできるように頑張るぞ!

まずは、考えてからコードを書くようにします。
python3の環境を構築をしたので、vs codepythonシンタックスハイライトと補完とlinterを突っ込んで、pythonの構文を覚えて問題に挑戦するぞ!