はじめてのAtCoder投稿

# はじめに
Kaggleをやってたけど、写経中心のスタイルということもあり知識が偏ってしまい
どうにも思考がプログラミングに落とし込めないことに課題を感じていたところ
Twitterの話題でKaggleとセットで競プロ、AtCoderというキーワードを耳にして
「AtCoder」ってなんだろ？ってところから、練習ページでの初投稿までを記録として残す

# AtCoderとは
※AtCoder公式サイトより
AtCoderは、オンラインで参加できるプログラミングコンテスト(競技プログラミング)のサイトです。リアルタイムのコンテストで競い合ったり、約3000問のコンテストの過去問にいつでも挑戦することが出来ます。

# AtCoderのいいところ（いい！と思ったところ）
・プログラムを計算機として生かした課題に取り組める
　大体の本は文法の話題であったり特定の問題を解決するコードになりがちだけど（後者は別にいいんだけど…）
　AtCoderではアルゴリズムを試す問題であり、答えは幾通りもあるところに魅力を感じた
・Pythonが使える
　AtCoder関連の本は大体C++だけど、実際には多彩な言語を使用することができる。
　その中に当然Python3も含まれており、Kaggleの基礎コーディング力UPを狙う自分としては
　うってつけの題材と感じた
・実行環境がWeb上にある
　コードを書いてWebサイトに投稿すると、そのコードをコンパイル＆実行して性能（メモリ使用量、実行速度）を算出してくれるので、こちらで環境を用意する必要がない。
・お手本が転がっている
　自分が求めているのは評価ではなく、実際は優秀なコードを収集して身に着けるすることなのでそれが
　大量に手に入るAtCoderはとても魅力的

# いざ、投稿までの流れ
1. 会員登録
2. 練習ページへ移動
3. 問題を見る
4. コードを考える
5. コードをテストする
6. コードを提出する

# 1. 会員登録
[AtCoder公式サイト](https://atcoder.jp/)で登録可能
画面右上の会員登録をクリック
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/39dc98bd-7cdf-66a6-3fef-582bbd6d216d.png)

会員登録画面で必要事項を記入の上、一番下の[会員登録]クリックで登録完了。
![キャプチャ1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/fe64cb4e-2e47-a92d-6bfb-b0457b40611f.png)

会員登録完了したらTOPぺージ右上の[ログイン]から記入したID,PWでログイン。

# 2. 練習ページへ移動
ホントならいきなりコンテスト参加！と言いたいけど
まずは練習ページで投稿の雰囲気をつかむ。
画面中央の[チュートリアル]をクリック。

移動先のページで[練習ページ]クリック。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/68f26d17-47e5-d1cd-3ff6-289c4d767b37.png)

ここが練習ページのトップ画面
![キャプチャ3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/d51613bf-bca7-c81c-eac9-41138da1c601.png)

# 3. 問題を見る,4. コードを考える
[問題]クリック。A、B問題がある。どっちでもいいけど、今回はA問題をクリック。
![キャプチャ6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/c40709e1-9351-dae0-3889-d3d3de3ef5da.png)

問題文が現れる。
実行制限時間：2sec、メモリ制限：256MB、と脅してくるので焦るけど
下のほうにコードサンプルがある。さすが練習ページ。
![キャプチャ7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/24bf4520-ec28-e37d-3084-2e8d533c2c30.png)

これのPython3での解答例をまるっとコピー
![キャプチャ8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/28fe0655-9e2b-abcf-43f6-c161120c4aa7.png)

# 5. コードをテストする
コピーしたコードがどれほどのものか、提出前に事前にチェックすることができる。
[コードテスト]クリック
ここで言語を選択して、コピーしたコードを[ソースコード]欄にペースト。
標準入力に、問題文でサンプルとして出ていた"入力"を入力したら
画面下にある[実行]をクリック。
![キャプチャ9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/d22249d1-8413-b3b3-4e08-7ea377a0bd69.png)

うまくいくと、画面下に実行結果と性能評価の結果が現れる。
これで提出前にある程度自分の成績がどの程度かを把握することができる。
![キャプチャ10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/4b520e22-db1a-6264-acb4-26578a32673e.png)

# 6. コードを提出する
[提出]クリック
ここも[コードテスト]の時と同様で言語が選べ、ソースコードにコードを張り付けることができるようになっているので張り付ける。で、[提出]クリック。
![キャプチャ11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/f06d9b36-8e76-23f6-5047-60c37b3d885e.png)

うまく提出できたら[提出結果]クリックすると結果を見ることができる。
![キャプチャ12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/5b2f4663-f98e-8f7b-c14f-e14163c3bb23.png)

今回はお試しだったのでpython3だけでなくC++もサンプル使って投稿した。
するとやはりC++は抜群に早いことがわかる…。pythonも負けてないと思ったけど
結果が歴然だったので驚いた…。とはいえ、pythonでも参加できることがわかったので、AtCoderいいね！と思った次第。

# おわりに
最近は、実行環境がWeb上にあるおかげでいよいよ自宅環境で開発用の環境準備がふようになりますますプログラマに優しい世界になってきたように感じる。
今日は投稿テストで終わったけど、もう少しAtCoderで遊んでみようと思う。