interprism's blog

インタープリズム株式会社の開発者ブログです。

プログラミングコンテストの感想【2023年入社】M.A

五日間の期限でプログラミングコンテストに挑戦しました。
問題は行列計算をいかに速く実行するかというものでした。
社内ランキングがあったのでそれをモチベーションに実施していました。
初めはとりあえず問題を解けるようなコードを用意しようと思い、素直に考えついたコードを実装してみました。
結果としては、実行に数時間かかるコードになり1日目はそれで終了しました。

2日目からは、初めに書いたコードを改善していく方法で実装していきました。
1日目に実装した方法では、同じ部分を何回も読み込んでいたり、実行に時間のかかる命令を繰り返していたのでそのような部分を少しずつ無くしていきました。
2日目の終了時点で実行速度は1分半ほどになっていました。
初日に比べると実行時間はかなり短縮できましたが、他の方の実行速度と比較するとまだまだ遅かったので3日目以降のモチベーションになりました。

3日目以降も、引き続き時間のかかる処理を一つずつ無くす作業を行なっていました。
コンテストでしたが、同期の間で情報共有も行なっていました。

4日目になると実行速度はそこそこ速くなってきて2秒ほどで問題を解けるようになっていました。
残り1日だったので最終的な目標は1秒を切ることにしました。
最終日は、いくつか改善案を試してみましたがなかなか実行時間を短くすることはできず、1秒を切ることはできませんでした。

プログラミングコンテスト全体を通じて問題を発見することとそれを改善する方法を考えることの良い練習になったと思いました。

PAGE TOP