プログラミングを仕事としてするようになる少し前から気にはなっていたが怖くて手が出せなかったもの。。。競プロ。。。沼りそうで避けてた。でも気になっているのに手を出さないのはポリシーに反するから意を決して飛び込んでみた。やっぱり沼だった。
今日は私と同じ、怖くて「はじめのいっぽ」が踏み出せない人向けにはじめてやってみた感想とともにはじめ方をレクチャーしていきたいと思います。
まず、はじめての人は新規登録から
これだけで登録完了。あとはコンテストを選んで参加するだけです。
まずは肩慣らしというか、問題の解き方もわからないので常設中のコンテストからpractice contestを選んで実施してみる。初心者が勉強するならとりあえずこの常設中のコンテストの問題を解いてみて練習するのが良いらしい。
問題みると下のような感じで出題されてます。入力と出力の形を指定通りにしないと当たり前ですが正解になりません。
問題を理解したら実際にコーディングしていこうと思いますが。。。コードはどうやら一番下の空欄に書き込めば良さそうです。入力や出力はどうすれば良いの?しばらく沈黙してしまいましたが、どうやら問題と解答欄の間に解答例が書いてあるのでこれを読み解けば良いみたい。
ちなみに解答例がついてるのはPracticeContestだけみたいです。まぁそりゃそうだよね。
ちなみにちなみに、AtCoderは色々な言語でコンテストに挑戦できるみたいですが、ほとんどみんなC++で参加しているみたい。それ知ってたら、自分もC++で参加したけど、うっかり普段いじり慣れてるJSで参加してしまったのは内緒です。つぎからC++で参加しよっと。
で、解答例見るとどうやら
// 1行目がinput[0], 2行目がinput[1], …に入る
input = input.split("\n");
tmp = input[1].split(" ");
mainの引数inputが入力の形で入ってきて、この部分で入力値を分割して値として取り出してるみたいですね。それを使って出力を作ってやれば良いけど、出力はreturnではなくconsole.logで表示してやるだけで良いみたいです。
コードを書いたら、ちゃんと狙った出力になっているか確認しましょう。上の方に戻るとコードテストというタブがあります。ここで試せるみたいです。
コードテストのタブを開くと下のような感じになっているので、記入して実行する。直感通りの操作なので迷いはしないと思う。
コードテストして問題なさそうだったら問題のページに戻ってコードを貼り付けて提出ボタンを押す。
提出を押すと提出結果のページに自動的に遷移して、結果が表示される。緑の表示でACはテストにパスしたってことみたいです。
ここまでやって、なんとなく操作方法もわかったし、とりあえず今日土曜だし、21時からのABC出てみるかと勢いで初挑戦してみましたが、見事に撃沈しました。
ABCは制限時間100分、コンテスト名にBiginnerって入ってるし大丈夫でしょと思いましたが、甘々でした。問題数は全部で8問だったんですがA〜Dの4問解いて終了。E〜については問題開いたけどやる気が起きませんでしたね。
次回(来週の土曜)はもうちょっとしっかりと勉強してからリベンジしたいと思います。
コメント