プログラミング学習に最適な練習問題
Javaに限らず、初めてプログラミング言語を学ぶ際に一番悩むところが
学んだ構文や文法を試す場だと思います。
テキストに書いてある例文などを言われた通りに書いて実行してみることも
大事ですが、実用的な場面で考えると少し物足りない気もします。
私がビジネスで活用している際は、当然例文なんてないので設計書や要件を確認
しながら、目的沿った文法を駆使して記述します。
【実践】競技プログラミング「Atcoder」の活用
私はJava言語を習いたての当初は「Atcoder」でプログラミングの技術を向上させていました。
・Atcoder新規登録ページ
![](https://lifehack-blog.com/wp-content/uploads/cocoon-resources/blog-card-cache/c251a9f89491340a113a707172a3cf57.png)
Atcoderはプログラミングコンテストですので、毎週なにかしらのコンテストで
世界中のプログラマーと順位を競って自分の実力を測れます!
ただ、今回紹介したいのはあくまでプログラマーを実践的に練習できるものを
紹介します。
その練習にはコンテストの過去問題が最適です。
ここではコンテストの過去問題が掲載されており、有志団体によって初学者向けに
問題が掲載されているので、ABC問題の最初の問題から始めていくと良いと思います。
Atcoder活用の方法
実際にどんな感じで問題を選択して練習していけばいいのか紹介します。
とりあえず適当にABC問題の一番上にあるABC233の問題Aを選択してみましょうか。
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image.png)
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-1-1024x530.png)
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-2-1024x536.png)
まだJava言語を習ってすらいない人でしたらごめんなさい。。。。
必ず次の記事で解説しますので、今はふーんで付いてきて下さい。
どうやら問題を見ると、X円の切手を貼っている前提で送料Y円の時
追加で10円切手を何枚貼ればいいですか?という事のようです。
てことは、Javaで書くには
繰り返しwhile文を使ってXに10を足していって
Y円を超えた時点でwhile文のループを抜けるように記載すれば
どうやら解けそう?な気がします。
簡単にコード記述出来るPaiza.ioさんを使用させて頂こう
問題を解くための実行環境として手軽に出来るpaizaを使用していきたいと思う。
既に総合開発環境のvscodeとか入れている人はそっち使ってな!
paizaってなんなん??
ってなっている人は過去記事で解説したから、是非見てってな~
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-3-1024x458.png)
いったんこんな感じで記述してみたが、どうだろうか。
実際に想定の答えが出力されるのか、問題の「入力例1」で試してみよう。
たしか入力例1は「80 94」だったはずで出力例1は「2」だったはずだ
だから2が出てくれば良さそうだ!
ほな、じゃあ実行をポチッとな…!(ドクンドクン…)
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-5-1024x381.png)
頼む…..!おらに元気を分けてくれ!!
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-6-1024x523.png)
うおしゃああああああ!
どうやらsuccessという文字が上部表示され、無事結果も「2」が返却されたようだ。
このコードをAtcoderにさっそく提出しよう
Atcoderへ提出までの流れ
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-7-1024x524.png)
提出はこの上部にある提出ボタンから実施出来ます!
![](https://lifehack-blog.com/wp-content/uploads/2022/01/image-9-1024x529.png)
提出言語は自分の記述した言語に合わせて選択肢しよな!
まとめ
Atcoderを使用したプログラミング練習を紹介したがいかがだっただろうか。
Atcoder以外にもこういう問題を解きながらプログラミングスキルを
上達させるコンテンツはあるから自分でいいなと思えるものがあれば
是非それを使ってほしい。
次はJavaを全く知らない人のために、Atcoderの問題を使って
基礎構文を解説する予定なので、よかったら見てな~
コメント