#最近のプログラミングの勉強について
最近は就活で忙しく、なかなかまとまった時間をとって勉強、開発をするというのが難しい状況下にいます。
そんな中、様々な企業のプログラム試験を受けていく上で僕、まだまだ全然勉強足りないやん!という場面に遭遇することが何度かありました。
それもそのはずで、これまでずっとUnityを利用したゲーム開発をしてきたので、Unityのライブラリやフレームワークをフル活用していました。なので、それらがない状態での開発経験というのはほとんどありません。(最初ちょっとだけ勉強したけど実質やっていないようなもん)
今更C#を一から学びなおすには時間が少なすぎるし、けど勉強なしには試験が厳しいし、どうしよう!?と慌てふためきながら勉強をしていた時、とあるサイトに出会いました。
それが今回紹介するLeetCodeです。
#LeetCodeとは
このページに概要が書いてありますが、簡単に言うとプログラミングの問題の練習ができるサイトだよ!って感じです。
簡単に言い過ぎた()
もっと深堀していくと、世界で有名なプログラミング競技サイトで、多くの外資系の企業が実際の試験で利用している、利用していた問題がたくさん転がっているサイトです。
実際の問題があることに関しては賛否両論があるらしいですが、一分一秒が惜しい学生の身からするとそんなことを気にしている場合ではありません。
**使えるものはすべて利用する。**これを第一に貪欲に勉強していくべきだと思います。
#LeetCodeの使い方
それでは簡単に僕が利用しているLeetCodeの使い方についてお話していこうと思います。と言っても、使い始めて数日で書いた記事なので特別上手に使えているわけではありません。あくまで一例として考えてもらえてもらえればと思います。
LeetCode詳しくて優しい人いたらもっと効率的な使い方教えてください
まず初めにサイトにアクセスして下さい。LeetCodeと検索すれば一番最初に出てくると思います。
このようなページが表示されるのでCreate Accountからアカウントを製作しましょう。
色々設定が終わると、この画面が表示されると思うので、左上のProblemsをクリックすると、問題一覧を開くことができます。
色々と情報が載っていますが、とりあえず気にするべきなのはTitle,Acceptance,Difficultyの三つだと思います。
左から順に、何をやるのか、実際の問題採用率、難易度という風に解釈しています(違ったらごめんなさい)。
Titleは自分がやってみたいことや、自分の開発分野に近いものをやるのもよし、ただ演算をするものからちょっとしたゲームの判別をするものまであるので、とにかく多くの問題を解いてプログラムの組み方を覚えていくべきだと思います。
Acceptanceは数値が高い方が出題頻度が高い、より実際に出やすいものなので、高いものを解いておくことで試験本番で困る場面は大幅に減少すると思います。(多分)
Difficultyは難易度ですね。新卒採用の場合、企業の試験やっていてでてきた問題は入門や、簡単と書いてあるものばかりだったので基本的にはひたすらEasyの問題を解いていくのが効率がいいのかなと思います。もちろんEasyのレベルが余裕な人はより高い難易度の問題を解いていきましょう。
問題は全部英語で書いてありますが、Google翻訳で理解できる程度の日本語に変換してくれるのでそれで大丈夫だと思います。企業によっては英語で問題が出る場所もあるので、英語の読解の勉強にもなります。
#問題を解くだけでなく他人と自分のスクリプトを比べる。
僕は他の練習、競技サイトを利用したことがないので他のものもできるかわかりませんが、このサイトを活用する一番の利点として他人のコードを見ることができるという点が挙げられます。
自分が長々と書いたものをたったの数行で書いている!?なんてこともざらにあるので本当に勉強になります。問題を解き終わった後は他人のコードを見て良い部分を盗んで自分のスキルを磨いていきましょう。(もちろん解く前にみたら勉強の意味なくなるからだめだよ!)
他人のコードの検索欄もあるので、自分の開発言語で確認したいときも一発で見つけることができます。便利!
#Githubで管理して記録を残そう
LeetCodeのコンパイラでテストして終わるのもいいですが、Github、ソースツリーで管理することをオススメします。
理由としては
・いつ学んだかが一発でわかる。
・学んだものをまとめておくことで、勉強してきたことを企業にアピールできる。
・一部のプログラムはコメントなどを駆使して分かりやすく保存し、再利用することができる。
などがあります。
工夫次第でLeetCode単体でも同じことはできますが、Githubを使うことでもっと楽にできるので是非してもらいたいと思います。特に、多くの企業がエントリーの際にGithubのリポジトリを見てくれると思うので、まとめてアピールできます。
せっかく勉強するのだったら上手く就活に利用していきたいですね。
#最後に
というわけで、プログラミングの勉強をする方法の一つとしてLeetCodeを使おうね話でした。
もちろんLeetCode以外にも同じようなサイトはあるので、使いやすいものを上手く使って勉強を進めていってもらえればと思います。
今回自分が就活中というのもあって就活の話を交えながら話したと思いますが、就活関係ない人も普通に勉強の場として利用できるのでいいと思います。
では
#参考にしたサイト、記事