Blog Article

競プロに挑戦してみる(準備編)

2024年02月22日

競技プログラミング(AtCoder)に挑戦

今回は、ずーーーっとやってみたいと思っていた競技プログラミングとやらに挑戦してみることにしました。というのも、私は現在、朝から晩までゲームをして春休みを満喫中の大学二年生なのですが、このまま堕落した人生を謳歌していると、先輩や後輩、同級生などの周りの人間に蔑むような目で見られる気がしまして、如何にも勉強っぽい響きの競技プログラミングに挑戦しようと思ったところです。また、この記事を読んでいらっしゃる方の中には、競技プログラミングって何?と思っている人も居るでしょうが、俺もあまり知らないので解説できません。ぐぐれかす。

私のプログラミング歴

高校生の時に、何となくゲームの仕組みが知りたいと感じて、C++を始めました。何故JavaやC#ではなくC++なのかは覚えていませんが、気づいたらC++でした。その後、受験に合格した後は、大学の授業でPython, JavaScriptを学習し、現在二年生って感じです。アルゴリズムは授業で単位を取る程度に勉強したもので内容は覚えていません()

環境構築

競プロを解く用の環境としてVSCode+WSL+AtCoder Libraryを動画を見ながら準備しました。C++はずっとVisual Studioで書いていたのでVSCodeだと少し違和感。

https://youtu.be/uhnASau7fB4?list=PLAYMgc8c_QezzZAEcnhI_Awo1QHWxE6FD

後は、AtCoderのアカウントを作ったくらい。

競プロ練習

環境構築は完璧にできたので、取り敢えず競プロをやってみるかと意気込んでいると、AtCoderの初心者でも参加出来る大会(?)は毎週土日どちらか開催らしく現在月曜日の俺は絶望。だがしかし、このまま土曜日まで待つと、土曜日には学習意欲が無くなって堕落しているので、AIZU ONLINE JUDGE - Introduction To Programming Iという計算ドリルのプログラミングverみたいなものに取り組みました。ちなみに、Introduction To Programming IはITP1と略すらしい。そして、ITP1は11トピックで構成されていて、1トピック4問の合計44問ありました。11トピック目は競プロとあまり関係ないみたいなので、10トピックの40問解きました。(解き終わったのが木曜日)

AOJ ITP1を解いた感想

「C++は三年ぶりくらいですが、意外と覚えていてどうにかなりました。」となる予定だったんですが、予想以上にPythonに毒されていたのか、堕落した生活のせいでプログラミングスキルが落ちていたのかIntroductionごときで割と苦戦しました。しかし、慣れてくると周回クエをしているみたいで楽しかったです。40問解いたことで、ぼーっとしていた俺の頭が少し若返った気がします。

次回以降

今回は競プロ準備編だったので、次回は恐らくAtCoderに挑戦していることでしょう。もしかしたら、AtCoderに挑戦する前にAOJの別問題か、AtCoderの過去問辺りを解いてみるかもしれません。どちらにせよ、勉強した記録ということで記事に残そうと思います。また、挑戦する問題が難しくなってきたら、自分なりの解き方と模範解答の解説を、未来の堕落した自分へのメモとして残していきたいですね。