LeetCodeでプログラミング学習(LeetCodeの使い方)
LeetCodeとは
LeetCodeとは無料で利用可能なプログラミング学習サービスです。
コーディング試験、面接の対策サービスでもあります。
この記事では、LeetCodeを初めて利用する方向けに、どういう流れで問題に取り組めばよいのかをざっくりとご紹介します。
使い方
にアクセスしユーザ登録しておきます。
問題の選択
"Problems"をクリックします。
下の方へスクロールすると問題のランキングが表示されます。
"Difficulty"をクリックすると難易度別に、例えば"Easy"で絞り込みができます。
解きたい問題をクリックします。ここではNo1の"Two Sum"をクリックしてみます。
問題の確認と回答
以下のような画面になります。
左ペインには問題文が表示されており、右ペインはエディタになっています。
言語のところからプルダウンでどの言語でコーディングするかを選択することができます。
言語選択すると以下のようにクラスとメソッドだけ初期から記載されています。
左ペインの問題文を読みます。
numsという整数の配列とtargetという整数が与えられるので、配列の2つの数字を足すとtargetになる、配列のインデックスの数値の配列を返せとあります。
同じ要素は2回利用できず、必ず1つの答えがある引数が渡されます。
右ペインのエディタでコードを書きます。
Runボタンを押すとコードを実行し、結果を確認することができます。
大丈夫そうです。そしたらSubmitボタンで提出します。
左ペインに評価結果が表示されます。
Acceptedされていますので正解です。
実行時間も表示されています。この回答は、他の人の回答に比べてだいぶ効率が悪いようです。
解説の確認
"Editorial"をクリックすると、解説を見ることができます。
問題によっては、Premium(有料版)に登録していないと参照できません。
"Solutions"をクリックすると、他のユーザの回答を見ることができます。
いろいろな解き方があり、自力で解いたあとに見ると勉強になります。
">"をクリックすることで次の問題へ移動することができます。
次の問題へ
No2 Add Two Numbersに移動しますが、これの難易度は"Medium"になっています。
最も左上にある"Problem List"をクリックすると、リスト表示され、難易度も確認しながら選択することができます。
最後に
例えば1日1問!を継続すると、1年後にはつよつよプログラマーになっているでしょう。
継続できたら・・・
私の最高継続日数は...X日です。頑張ります。明日から。いや、明後日から。
あと、LeetCodeはデータ構造やアルゴリズム、計算速度を考慮したコーディングについての修行になるとは思いますが、例えばPythonならDjangoやFastAPIを利用したWebアプリを実装するスキルやDBを扱うスキルが身につくかというと全く身につかないと思います。
業務において必要とされるプログラミングスキルを得るには、実際に自分でプロダクトを開発するしかないと思います。
限られた時間を何に当てるかは良く考えて取り組んだほうが良さそうです。
Discussion