文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

競技プログラミングのはじめかた(AtCoder編)

はじめに

本記事は、プログラミングは趣味や業務でそれなりにやっているけれど、競技プログラミングはやったことがない、そのような方に向けて書かれました。プログラミング未経験者の方には不親切な部分もあるかと思います。あらかじめご了承ください。

 

 

AtCoderのアカウントを作成する

まず、AtCoderのホームページから新規登録を選んでアカウントを作成します。

 

f:id:YukiMoto:20190201032758j:plain

 

所属とTwitterIDは後から変更可能なので、迷う場合は空欄でも構いません。

 

 

問題を選択する

AtCoder Beginners Selectionsに参加し、「問題」タブから「はじめてのあっとこーだー(Welcome to AtCoder)」を選択します。

 

f:id:YukiMoto:20190201041916j:plain

 

今回はこの問題にJavaで解答することにします。

 

 

解答を記述する

問題文・入力・出力を読んでいくと、数値a,b,cおよび文字列sの4つを入力として受け取ってから、a+b+cとsの間に空白(半角スペース)を挟んで出力すればよいことがわかります。

 

Eclipse等の統合開発環境、あるいはVim等のエディタを用意できる方は、それらに解答を記述してみてください。用意のない方は、ブラウザ上でコードを記述・実行できるIdeoneというサイトがありますので、そちらを利用してください。

 

以下がJavaでの解答例です。

 

f:id:YukiMoto:20190201044242j:plain

 

特に説明すべき部分もありませんが、Javaで解答する場合、mainメソッドが記述されたクラスの名前は必ずMainにしなければならないので、注意が必要です。

 

 

解答を提出する 

 解答は「提出」タブから問題と言語を選んで提出します。

 

f:id:YukiMoto:20190201050214j:plain

 

今回は、問題が「PracticeA - はじめての......」で、言語は「Java8」です。

 

記述した解答をソースコードの部分にコピペして、提出ボタンを押すことで提出が完了します。

 

 

結果を確認する

提出した解答の正誤は、「提出一覧」タブの「自分の提出」から確認することができます。

 

f:id:YukiMoto:20190201050327p:plain

 

結果は「AC(正解)」でした。間違っている場合は黄色で「WA」と表示されます。

 

 

おわりに

今回はAtCoder Beginners Selectionから問題を取り上げましたが、このほかにもAtCoder Beginner Contest(通称ABC)や企業主催のコンテストなど、過去に開催された膨大なコンテストの中から自由に問題を選んで解くことができます。

 

これらの過去問を解いて自信がついてきたら、次は定期的に開催されるコンテストに実際に参加してみて、ほかの参加者たちとプログラミングの能力を「競」ってみてはいかがでしょうか。