【1月の競プロ】Railsを勉強したり、すぬけくんのファンアートを描いたりした

Pocket

年末に競プロがんばる宣言をして、月1回競プロに関するブログを書くことにしました!今日は1月に競プロをやっていくために、がんばったことを書きます。

競プロの問題を解いてみようとした

競プロがんばる!と宣言しましたが、なにからすればいいかよくわからなかったのでエンジニアに相談したところ↓のページを紹介されました

問題を解いてみようとしましたが、ページの下の方に書いてある「そもそもプログラミングがわからない人は?」に該当し、「AtCoder Programming Guide for Beginnersで、C++の勉強をしましょう!」とのことで、問題は解けずでした。残念。

プログラミングを勉強しようと思って、Rubyを選んだ

プログラミングがわからないので、C++を勉強しましょう!とのことでしたが、C++は個人的にあまり馴染みがないためか、なかなか勉強する気がおきずにいました。

そしてこれもまた飲み会でエンジニアに相談したところ「C++勉強するんだったら、Rubyほうがいいんじゃないか」とのことでした。(たぶん競プロやるならって文脈ではなく、プログラミングを勉強するならRubyという話のようなきがするけど、 🍺のせいでちゃんと覚えてないのでカット😇ごめんなさい)

Rubyで競プロをやってるメンバーもいるし、なによりRubyは書けないど好きな言語なので、Ruby勉強するぞ!!という気持ちになりました。

Rails Girlsの復習をした

Ruby勉強するぞ!となったものの、これもまたなにからやればいいかよくわからなかったのですが、以前「Rails Girls」というイベントに参加したことがあったので、イベントでやったことを復習してみることにしました。

復習するにあたってきめたことが1つ。なるべくコードをコピペしないで、文字を自分で打ってやってみることです。

イベントに参加した際の感想としては「やさしいコーチの方に教えてもらいながら、コピペしていたら動くものができて、とっても嬉しかった!!」という感じだったので、ちょっとでもレベルをあげるためにコードのコピペはしないことにしました。

まあそうするとtypoが多くて全然動かないし、コーチの方がいないから何が違うのかよくわかんなかったですが、ググったり、結局コピペをしながら、なんとか rails new までいけました。やった!

Rails を勉強しても競プロの問題を解けないことがわかった

rails new した次の週、誇らしげに2回目の競プロランチに参加したところ、「素のRubyを扱えないと問題は解けないよ」と言われて度肝を抜かれる体験をしました。

RubyとRails 、採用担当としては、だいたいどっちも同じタイミングで出てくるのでセットで覚えていたのですが、確かにRubyはプログラミング言語で、RailsはRubyを使ったWEBアプリケーションのフレームワークなので、それそれ役割が違うよなということに気づきました。

先輩曰く「きゅうりを切るのに、チェーンソー持ってきました!みたいな感じ」とのことで、知らないうちに大げさなやつになってました。笑

優しい同僚のおかげで問題が解けた!

rails newしただけで、しかもRailsでは問題が解けないとわかった直後、競プロランチ参加メンバーに「もう1回問題を解いてみれば」といわれて、やったところで全然わかんないですよね😇

ただAtCoder Beginners Selection1問目の問題は答えが書いてあるので、答えに書いてある文字(のちにこれをメソッドと呼ぶことがわかる)をひたすらググっていたのですがまあわからず、悲しくなっていると「問題、私でよければ見ましょうか」と同僚が声をかけてくれました。天使…!!!

「誰かが教えてくれるって最高!これがよく聞く、コミニティに参加する意味…!」って思いました。

解説してくれた内容を、ブログのために思い出してまとめると、こんな感じです。(Rubyプロのみなさま、違っていたらすみません)

これを元に、入力の数字や文字を変えて違う答えが出力されるのを確認したりしました。1回といてみると「なるほど!こんな感じで解くのか!」とか「答えってなんだかわかんなかったけど、こんなのがでるのか!」というのがわかって、やっと前進した感がでてきました。嬉しい。

そして競プロでよく出てくるメソッドを組み合わせ、なんとなく問題解けちゃうのでは!?みたいな気になってきました。やった。

すぬけくんの絵を描いた

競プロランチ、もちろん私以外は全員エンジニアで、みんなめちゃくちゃ問題をといていて、本当にすごいです。

私もみんなに負けないように、なにかアウトプット出さねば!!と思って、すぬけくんの絵を描いてみました。(すぬけくんって?って思った方は、前回の記事を見てみてください!)

ちなみにすぬけくん、問題の中では人間でAtCoder社員という設定らしいですが、Twitterアカウントをみたら「ねこです」とのことでしたので、ねこにしました。

ご本人にもリツイートただけて、とても嬉しかった。。

2月のやっていき

  • メソッドを組み合わせると、2問目も解けるかも!と思ったので、解いてみる
  • 同僚の解説を聞いて「これ立ち読みしたことあるふりがなプログラミングっぽいなと」思って買ってみたので読む
  • 2月はインターンシップがあるので、インターン生と競プロの話をしてみる

2月もがんばるぞ!

You may also like