競技プログラミングに興味があるけど、何を勉強したらいいのか分からない人向けのガイド。
前提
必須:四則演算
最低限これが必要なので、先取り学習をしていない家庭では、小学3年生以降でないと、競技プログラミングはできない。
推奨:Scratch
プログラミング自体が未経験でも、競技プログラミングを始めることはできるが、先にScratchなどのビジュアルプログラミングを経験しておくと、理解が早まる。
競プロ入門手順
使用するプログラミング言語は、書きやすさと学習コストの観点から、Pythonとする。
いきなりAtCoderは難しいので、最初はpaizaで競プロをスタートしよう。
Python経験者は手順2~5は飛ばしてもよい。
1:Paizaラーニングに登録
まずは
https://paiza.jp/works
にアクセスし、無料会員登録をする。
2:Python基礎レッスン
https://paiza.jp/works/python/trial/python-trial-1
にアクセス、全15チャプターを終わらせる。
演習課題は全て解くこと(以降も同様)。
これだけでPythonの概要は学び終わる。
簡単だと感じた子は、以降3~5は飛ばしてもよい。
3:プログラミング基礎レッスン
プログラミングの基礎を学習する。
https://paiza.jp/works/python3/primer/beginner-python1
にアクセス、全9チャプターを終わらせる。
4:if文レッスン
条件分岐、比較演算子を学習する。
https://paiza.jp/works/python3/primer/beginner-python2
にアクセス、全6チャプターを終わらせる。
5:for文レッスン
ループ処理を学習する。
https://paiza.jp/works/python3/primer/beginner-python3
にアクセス、全7チャプターを終わらせる。
6:listレッスン
配列(リスト)を学習する。
https://paiza.jp/works/python3/primer/beginner-python4
にアクセス、全8チャプターを終わらせる。
7:dictionaryレッスン
連想配列(辞書)を学習する。
https://paiza.jp/works/python3/primer/beginner-python5
にアクセス、全8チャプターを終わらせる。
8:多次元listレッスン
配列の要素に配列を使う方法を学習する。
https://paiza.jp/works/python3/primer/beginner-python6
にアクセス、全12チャプターを終わらせる。
9:標準入力演習
競プロを始めるにあたって重要かつ、初心者が躓きやすい、標準入力を学習する。
https://paiza.jp/works/mondai/stdin_primer/problem_index?language_uid=python3
にアクセス、全48問を終わらせる。
10:標準出力演習
コーディング演習も兼ねて標準出力を学習する。
https://paiza.jp/works/mondai/stdout_primer/problem_index?language_uid=python3
にアクセス、全48問を終わらせる。
11:defレッスン
関数定義、呼び出し、引数、戻り値を学習する。
https://paiza.jp/works/python3/primer/beginner-python7
にアクセス、全8チャプターを終わらせる。
ここまでで、競技プログラミング入門に必要な知識は全て揃う。
あとは演習あるのみ。
情報オリンピックを目指す小中高生は日本情報オリンピック1次予選突破の道のりへ進む。
大学生と社会人は、次のスキルチェックDランクへ進む(大人でも学習に自信が無い人は、日本情報オリンピック1次予選突破の道のりへ進んで、順番通りに練習問題を解く方が伸びが早いので、そちらに行くことをお勧めする)。
12:スキルチェックDランク
https://paiza.jp/challenges/ranks/d
にアクセスし、上から順に解く。
簡単だと感じたら、適宜飛ばす。
13:スキルチェックCランク
https://paiza.jp/challenges/ranks/c
にアクセスし、上から順に解く。
14:スキルチェックBランク
https://paiza.jp/challenges/ranks/b
にアクセスし、上から順に解く。
1つでも解けたらOK。
15:入門終了
14でBランクを獲得できれば、競プロ入門編は終了。
ここまで来て初めて、競プロのスタートラインに立てる。
学習期間としては、半年が目安。
それよりも早い子は優秀。
もしC~Bランクが難しければ、日本情報オリンピック1次予選突破の道のりのページで、基礎問題を演習しよう。
そして、次は実践編。
AtCoderでコンテストに参加して、まずは茶色レートを目指すために、AtCoderで茶色レートになる方法の通りに学習する事をおすすめしたい。