見出し画像

競技プログラミング挑戦記①~プログラミングやる意味ある?~

■社会のお荷物への恐怖

プログラミング勉強したいけど、何から始めたらいいのか分からない。
プログラミングでやりたいことはないけど、とりあえず勉強しとかないと

なんて考えている方、結構いらっしゃるのではないだろうか。
実は小生(ritok_α)は工学部出身、インフラ技術職に従事しているものの
プログラミングがほとんどできない(恥じらいはもうない)

正直プログラミングを学ぶタイミングって
・大学で工学部(理系の学部)に入って授業を通して学ぶ
→自身は真面目にやらなかった
・入社した会社で必要だから研修で学ぶ

くらいのものではないか
このタイミング逃すと未来永劫プログラミングを学ぶことはないだろう。
しかし、社会ではプログラミングができることが一つの普遍的スキルとなり
コードが書ける人はどこに行っても重宝され、働き方を選びやすくなっています。
逆にプログラミングから目を反らし「結局は人の気持ちが大事」とかのたうち回っている輩は淘汰される社会になっていくことかと思います。
実際に「大量データ時代」の昨今で簡単なプログラミングでもできれば社会人のレベルは高く評価され、少し複雑なエクセル処理やpyhonでのデータ処理ができればプログラマでもない限り会社のお荷物になることはないだろう。

そこで私は「競技プログラミング」に目を付けた。

■競技プログラミングとは

画像1


↑↑↑ atcoder.jp  ↑↑↑
出題された課題を限られた時間で解決することを競うコンテストのことで、日本国内はじめ海外でも様々なコンテストサイトが存在するらしい。
どれだけコードを書けるかみたいな単純なものではなく、数学的な思考、アルゴリズムを考察する能力も必要になるという。

今回私ritok_αは競技プログラミングサイトの一つ「AtCoder.jp」に参加してみたいと思う。AtCoder.jpは国内最大のコンテストサイトで、英語が苦手な人にも学びやすいサイトらしい。(脳のメモリは2byteなのでひとまず英語からは逃げる)

画像2

基本情報入力を終え登録完了。
勉強していく言語はPythonにする。
なんとなく、よく聞くから。(ひとまずドヤれそうなものから)

■学ぶ言語

なお競技プログラミングでは主に以下の言語を学ぶことができる。
・Python
・C++
・Java
・C#
・JavaScript

Pythonをある程度極めたら(希望的観測)、JavaScriptも勉強していきたい。

■いざ実践

といっても何から始めていいかわからないし、すぐにコンテスト参加はちょっと…という人向けに練習問題が用意されています。
まずは以下の問題を解いていく

画像3

始めて問題文読んだけど実行速度やメモリの制限まで課されているらしい
ちょっと面食らってしまった。
回答は次の挑戦記で。

この記事が気に入ったらサポートをしてみませんか?