[[AtCoder]]

AtCoder

競技プログラミングサイトの1つ。

プログラム的に解けるような問題が出題されるので、入力から正しい答えを出力できるプログラムを書く。ちゃんと出力があってたら正解。合計得点や回答の速さを競う。

  • 特徴
    • 原則的に土曜日の夜から何かしらのプログラミングコンテストが開かれる
    • 日本の運営
      • 問題文が日本語
      • 日本人が参加しやすい時間帯
    • 解答に使えるプログラム言語が豊富
    • コンテスト終了後に復習しやすい
      • 他の人の解答が見られる
      • 多くの問題に対して、出題者または運営による解説PDFがアップロードされる
      • YouTubeで解説生放送が開かれる

ステキ周辺サービス(公式とは限らない)

    • 過去問を、自身やライバルの AC済み/挑戦済み/未挑戦 で色別に一覧できる
    • 過去問をスコア別に集計、自身やライバルのACしたスコア分布などを一覧できる
    • 過去問を使って疑似コンテストを行える
    • レーティングを使って企業と求職者をマッチング

関連記事

登録

入出力

最初に解くべき問題

PythonでAtCoder

競技プログラミングは計算速度が求められるため、基本的に C++ などの高速なコンパイル言語を使うことが半ば暗黙の常識となっている面がある。

Pythonはスクリプト言語で、計算速度は速いとは言えない、というか遅い。

だが、AtCoderでは1000点~などの高難度の問題でもない限り、きちんと実装すればほとんどの問題は通る。

この「きちんと実装すれば」がポイントで、逆に言うと C++ などでは多少効率の悪いプログラムを書いても通ってしまうことがあるが、Pythonだとなかなかそうはいかない。

ポジティブに考えると、それだけアルゴリズムを正しく使いこなす力が身につくって事だね!(本当か?)

  • メリット
    • 学びやすい
    • 環境構築しやすい
    • 記述量が少ない
    • 整数だろうとリストだろうと print() で出力できるので簡易デバッグしやすい
    • 最近、機械学習とかで流行りなので、本業の分野によっては知識を相互に活かせる
    • PyCharmという高機能IDEが無料で使える
    • AtCoderでは、PyPyという、Pythonコードを高速に実行する言語を使うことができる
      • ごく稀に使えるライブラリが異なることがあるが、基本的に同じコードで動き、書き換えの必要は無い
      • これにより、スクリプト言語では計算量が厳しい問題でも通せたりする
  • デメリット
    • 遅い
    • 難しい問題はPythonで挑戦している人が少ないので、参考に出来るコードが無いことが多い
      • C++以外のほとんどの言語に同じ事が言える
    • 他の競技プログラミングサイトでは、AtCoderほどPythonでも通せることに配慮されてない、かも

Python3ライブラリ・テクニック

個人用dokuwiki記事用てんぷれ

Dokuwiki記事用テンプレート自動生成Pythonスクリプト(コンテスト名・問題名・リンクを埋める)

programming_algorithm/contest_history/atcoder.txt · 最終更新: 2019/04/15 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0