@Michael267

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

AtCoderを始めるうえでおすすめの言語はどれですか?(Java / C++ / Python)

現在、情報系の専門学校に通っており、授業では Java を使っています。
最近、競技プログラミング(AtCoder)を始めてみたいと思っているのですが、
調べてみると C++ や Python を使っている人が多いようです。

そこで質問です。

AtCoderを始めるうえで、

Javaで続けていくのが良いのか

それともC++やPythonに切り替えたほうが良いのか

アドバイスをいただけたら嬉しいです。

0 likes

3Answer

最近、競技プログラミング(AtCoder)を始めてみたいと思っているのですが、

AtCoderを始めてみたいだけならどの言語でも良いと思いますが、他に応用する目的がないのであれば現在学習中の言語(Java)で良いかと思います。
Java中級者以上で他の言語も試してみたいとかでなければ混乱するだけかと思います。

1Like

競技に対してどのような姿勢で取り組むかによります。 プログラミングの練習の題材として AtCoder を利用するということであれば何を練習したいかで選ぶのが妥当でしょうし、質問者の場合は Java を使えばよろしいのではないでしょうか。

競技を競技として取り組む、高いスコアを目指すということであれば一般論として C++ が有利な場合が多いです。 全く同じアルゴリズムで書いても言語によって実行速度がまるで違うにも関わらず競技での時間制限は同じだからです。 なので実行速度が速い言語を選ぶに越したことはないです。 たとえば Python や Ruby では露骨に苦戦する問題があるようです。

Java は速いほうなのでそんなに不利ではないはずですし、問題ごとに別の言語で答えても構わないので最初はあまり考えずに得意な言語で始めればよさそうに思います。

1Like

結論から言えば C++ をお勧めします。
理由は80%近いユーザーがその言語を使用しているからです。競技プログラミングを進める上で上級者のソースコードを参考にする機会は非常に多いです。そして、必然的に使用言語も全体の比率に近くなります。勉強効率を考えた時に参考にできるコードの多いC++を私個人としてはお勧めします。
もしC++で競技プログラミングを始めるのであれば、下記の公式チュートリアルがおすすめです(私もこれで勉強しました)。

参考文献

1Like

Your answer might help someone💌