leetcodeはじめた

  • このエントリーをはてなブックマークに追加

leetcodeというオンラインでプログラムを解くサービスを教えてもらった。Googleとかのホワイドボード面接はこういう問題を解いてるらしい。他にもHuckerRankがメジャーどころだそう。 Googleを受けたことはないが、どんなもんかと試しにeasyレベルを中心に100問ほど解いてみた。

進捗 leetcode100

いろんな言語から好きな言語を選べるが、仕事で使うメイン言語であるjavascriptをチョイス。業務でコードは書くものの、正直こういった競技プログラミングに慣れていないので、easyでもめちゃくちゃ難しい。。ただ動けばいいだけでなく、実行時間がかかりすぎるとタイムオーバーになってしまうので、計算量についての意識が必要。O(n^2)のソートとか書くと大体タイムアウトする。

学生の頃授業で解いたような問題が出てくるが、当時はC言語で解いていたのでjsとは勝手がだいぶ違う。javascriptは配列やjsのオブジェクトがあるので問題を楽に解ける面もあるが、たまに C言語ならポインタで書けるのにな~~ と思うことがあって面白い。

あと半端に昔の知識が残っていて、たとえ普段 Array#forEachとか Array#map とか使ってても、この手の問題になると途端に for (let i = 0; i < foo.length; ++i) とか書いてしまうC言語脳。

頭の体操になるのでもうしばらく続けようと思う。