【初心者向け!】AtCoderの始め方でつまづいたら見る記事

Tips

おつかれさまです!記事を読んでくださりありがとうございます🌞
今回は競技プログラミングをAtCoderで始めるまでの流れを解説します!!

『競技プログラミング』という言葉は聞いたことがある方もいらっしゃると思います!
時間内にアルゴリズムをコーディングしていくやつですね。

今プログラミングを勉強していてアウトプットしたいな〜
Progateは終わったので次は何をしたらいい?

このような方に向けて『AtCoder』を紹介したいです!

ただ、これが始めるまでなかなかハードルが高かったりするんですよね、、、
(私も実際始めるまでに苦戦しました笑)

そこで最小限の準備ですぐに始められるように説明していきます!

それでは、ゆっくりしていってください🐱

✔ こんな人向けです

・プログラミングの文法を勉強したけど、その後何したらいい?
・AtCoderに登録したけど何から始めたらいいかわからない、、、
・環境構築はめんどくさいからサクッと始めたい!

✔ この記事を読むと、、、

⭐️ プログラミングを勉強した後の次のステップがわかる!
⭐️ 環境構築は最低限にしてAtCoderを始められる!

前提として、、、

この記事はゼロから解説する記事ではないので、自分が該当する部分で
詰まっているところを確認していただければと思います、、、🙇‍♂️

前提知識を整理する

この記事を読むには次の項目を知っていることを前提としています。

・テキストエディター(VSCodeなど)とPython環境が使える
・ターミナルなどで使う基本的なコマンドが分かる(cd,python XX.pyなど)
・AtCoderは登録済み
・言語の基礎文法は理解している

この中でわからないところがあるよ〜という方でも大丈夫です!
とりあえずChat GPTに「初学者でも分かるように説明して」と聞いてみましょう!

この記事を書いた理由、、、

これまた、ニッチなところですねというテーマですが、
仕事的にPythonでアルゴリズムを扱うのでAtCoderを始めようとなりました!

ただ、登録したのはいいけど、、、
『まず何をしたらいいの??🥺』
『そもそも入力ってどう受け取るの??🥺』
『検証する環境とか作らないといけない感じですか??🥺』

いろいろ調べて遠回りした感じだったので、AtCoderを始めたい人が
気軽に始められるようにしたいという思いで作成しています!!

具体的な始め方!!

それでは前提も合わせたところで、具体的な部分に入っていきます!
以下は、VSCode、Python環境で進めていきます🙇‍♂️

VSCodeとPython環境の準備

まずはどこでもいいのでAtCoder用のファイルを作り、VScodeで開きましょう!
そのファイル内に.pyファイル(提出用)と.ipynb(検証用)を作ってください。

ここで仮想環境を作っておきます。
次のコマンドを一行ずつターミナルで入力してください。

# myvenvは好き名前で大丈夫です!
python -m venv myvenv

# 仮想環境をアクティブにします
source myvenv/bin/activate

jupyter環境も使えるようにpip installしておいてください

できたら、こんな感じになると思います!!

どこから始めたらいい??

次は実際にAtCoderのページに行ってみましょう!
コンテストタブを押します

コンテスト一覧を開いたら
AtCoder Beginners Selectionを選びましょう!
これが第一歩目です!!

practice contestというのもあるんですけど、出力するだけなので割愛します!
入力の受け取り方法について一緒にやっていきましょう!
ここらへんから何をしたらいいの??ってなりますよね、、、

実際にやってみよう!!

AtCoder Beginners Selectionの問題タブを押してもらって、
practiceA問題のWelcome to Atcoderをやってみましょう!

開いてみるとこんな感じ、、、

、 、 、 。

最初はなんのこっちゃですよね笑
これも簡単な計算と出力の練習なので慣れていきましょう!!

解答例を拝借すると次のコードになります。

# 整数の入力
a = int(input())
# スペース区切りの整数の入力
b, c = map(int, input().split())
# 文字列の入力
s = input()
# 出力
print("{} {}".format(a+b+c, s))

入力を受け取るのが最初は厄介なんですよね、、、
一つずつ解説していきます!!

・まず一行目のaに入力される値を受け取ります → a = int(input())

・二行目は値が半角スペースを開けて2つ受け取ります → b, c = map(int, input().split())

・三行目には文字列が入力されます → s = input()

そのままなんですけど、入力欄の行数分値を受け取る変数を定義する必要があります!!
先に進めていくとリストで受け取るなどあるのですが、そこはChat GPTなどに聞きましょう笑

このような仕様になっていることを理解しておくとこの先もスムーズに進められます!!

検証するには??

値が受け取れるようになったら次はどんどん問題を解いていきましょう!!

あれ?

値をちゃんと受け取れているかわからなくない??
自分が書いたコードって合ってるの??

その通りです、、、ここも最初よくわからないんですよね笑

コードテストというタブで検証できるみたいですけど、
今回はVSCodeでかんたんに検証できる方法を紹介します!!

やり方はシンプルでprint()で受け取れているかを確認します!
この例だときちんと値が受け取れていることがわかります!!

※ .pyファイルを実行するには、そのファイルがあるディレクトリまで移動して
  python XX.pyで実行すればコードが走ります!!

受け取れていることが確認できたので、期待する出力になるようにコードを調整します。

足し算するだけなのでこんな感じにしてみました!
答えも期待する出力になりましたね!

問題によっては出力の形式がちょっと違ったので間違ってますってなるのでお気をつけて、、、

今回は.ipynbのファイルは使ってませんが、
複雑な問題になるとちょっと動きを確認したいときが出てくるので、適宜使う感じです!

次のステップは??

ここまでできたら後はやるのみです!!
まずはAtCoder Beginners Selectionの10問を解くことを目標にすると良いと思います!!

ただ、後半の問題は少し難しいので飛ばしてもいいと思います!

わかんないよ〜っていう方も大丈夫です!
この解説記事を参考に進めてみましょう!

AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ - Qiita
NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。好きなアルゴリズムは最小カットやマッチングですが、会社ではなぜか「DP が好きな人」と呼ばれています。今回は、最…

この問題がある程度できて、違う問題もやってみたいよ〜という方はこちら
AtCoderの問題がレベル別で取り組めます!!

AtCoder Daily Training - AtCoder
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.

さいごに、、、

ここまで読んでいただきありがとうございます🎉

AtCoderの始め方ということで、対象はせまめですが
この記事でつまらずに始められる方が増えるとうれしいです!!

私も始めたばっかりで簡単な問題しか解けませんが、少しずつ進めたいと思います、、、
いっしょにアルゴリズムマスターになりましょう笑

引き続き読んでいただけるとうれしいです!

コメント

タイトルとURLをコピーしました