LeetCode(リートコード)は、アルゴリズムとデータ構造の問題を解いてコードを提出すると自動で判定してくれる、英語のコーディング問題集サイトです。米国のテック企業のコーディング面接で出る形式に近いため、面接対策の定番になっています。運営は利用規約上の契約主体である米国のLeetCode, LLCで、本社はカリフォルニア州パロアルトにあります。2026年10月23日に公式サイトのAPIで数えた問題数は4,087問で、そのうち無料で解けるのは3,300問でした。この記事では、問題の内訳、最初の1問をコード例つきで提出するまでの流れ、日本語対応の実情、Premiumを買うべき条件、Study Planと定番の問題リストの回し方、AtCoderとの違いを順に説明します。
まとめ:LeetCodeの中身と始め方の要点
- LeetCodeは面接対策向けのコーディング問題集。2026年10月時点で4,087問(Easy 972/Medium 2,131/Hard 984)
- Premium限定は787問で、残り3,300問(約81%)は無料で提出・判定まで使える
- アルゴリズム問題は関数やクラスを完成させる形式が中心。Two Sumでは、総当たりと平均O(n)の辞書版を比較し、計算量まで説明する
- 画面は英語のみで日本語UIは無い。問題文はブラウザ翻訳で読み、入出力例と制約は原文で確かめる
- Premiumは月35ドル/年159ドル。受ける企業が決まり、企業別の出題傾向が要る段階まで買わなくてよい
- 順番に迷ったら公式の「LeetCode 75」。外部の定番リストを使うなら一つに絞る
- 日本企業の選考や日本語の解説を重視するならAtCoder、英語の面接対策ならLeetCode
LeetCodeの問題数と種類:難易度別の内訳とPremium限定の割合
難易度別の問題数と無料で解ける範囲
公式サイトの問題一覧(Problemset)を支えるGraphQL APIから、2026年10月23日に難易度別の総数とPremium限定の件数を取得しました。
| 難易度 | 全問題 | Premium限定 | 無料 |
|---|---|---|---|
| Easy | 972 | 129 | 843 |
| Medium | 2,131 | 463 | 1,668 |
| Hard | 984 | 195 | 789 |
| 合計 | 4,087 | 787 | 3,300 |
Mediumが全体の半分強を占めます。Easyだけを解き続けると問題の大半に触れないまま終わるので、形式に慣れたら早めにMediumへ移ります。総数は増え続けており、2026年9月27日に同じ方法で数えたときの4,060問から、1か月足らずで27問増えていました。コンテストの問題が一覧に加わっていくためです。
アルゴリズム以外のカテゴリ:SQL・pandas・JavaScript
問題の大半はアルゴリズム(3,669問)ですが、ほかに次のカテゴリがあります。
- Database(323問):SQLでデータの検索・集計・更新を行う
- pandas(338問):Pythonのpandasでデータ加工する。Database問題の多くがpandasでも解ける
- JavaScript(67問):クロージャやPromiseなどJavaScript固有の仕様を問う
- Concurrency(9問)・Shell(4問):並行処理とBashの小問
データ分析職の選考でSQLのテストがある人は、Databaseカテゴリだけを解く使い方もできます。
LeetCodeの使い方:登録から最初の1問を提出するまで
アカウント登録とTwo Sumを開くまでの手順
- leetcode.com の「Register」からアカウントを作る。GoogleやGitHubのアカウントでも登録できる
- 上部メニューの「Problems」で問題一覧を開き、Difficultyを「Easy」で絞り込む
- 問題1の「Two Sum」を開く。右側のエディタ上部で使う言語を選ぶ
- エディタに表示されたテンプレートの関数の中身を書く
- 「Run」でサンプルや自分で追加したテストケースを試し、通ったら「Submit」で採点用のテストケースによる判定を受ける
AtCoderなどの競技プログラミングでは標準入力の読み取りから自分で書きますが、LeetCodeのアルゴリズム問題では、用意された関数やクラスのテンプレートを完成させる形式が中心です。面接のホワイトボードで関数を書く状況に合わせた作りで、最初に戸惑いやすい違いです。
Two SumのPython実装:総当たりと辞書の比較
Two Sumは「整数の配列numsと目標値targetが与えられたとき、足してtargetになる異なる2要素の添字を返す」問題です。正解は必ず1組あり、同じ要素を2回使うことはできません。Python3を選ぶと、エディタには次のテンプレートが表示されます。
class Solution:
def twoSum(self, nums: list[int], target: int) -> list[int]:
このメソッドの中身を書いて提出します。print文で結果を出す必要はなく、returnした値がLeetCode側で照合されます。素直に書くと、全ての2要素の組を試す総当たりになります。
class Solution:
def twoSum(self, nums: list[int], target: int) -> list[int]:
n = len(nums)
for i in range(n):
for j in range(i + 1, n):
if nums[i] + nums[j] == target:
return [i, j]
return []
問題文の末尾には「O(n2)未満の時間計算量で解けるか」というFollow-up(発展課題)が付いています。面接で求められるのはこちらです。一度見た値と添字を辞書に記録しておけば、各要素について「targetとの差がもう出てきたか」を1回の参照で判定できます。
class Solution:
def twoSum(self, nums: list[int], target: int) -> list[int]:
seen: dict[int, int] = {} # 値 -> 添字
for i, x in enumerate(nums):
if target - x in seen:
return [seen[target - x], i]
seen[x] = i
return []
Two Sumの制約上限は配列の長さ104です。答えが配列の末尾2要素にある最悪ケースを作り、Python 3.14.6で各実装を1回ずつ計測した記録では、総当たりは8,394ミリ秒、辞書を使った版は3.3ミリ秒でした(公式のExample 1〜3はどちらの実装も正解)。総当たりは約5,000万組を比べ、辞書版は約1万要素を1回走査するだけです。実行時間と速度比は入力や環境で変わります。Pythonでは、リストのinは先頭から順に探すのに対し、辞書のinはハッシュテーブルを使い、平均O(1)でキーの有無を調べます。ただし、衝突などにより最悪O(n)になるため、この辞書版の時間計算量O(n)も平均的な場合の評価です。この違いはLeetCodeでPythonを使う限り何度も出てくるので、Pythonのpop()の使い方:リスト・辞書・dequeの違いとpop(0)が遅い理由でデータ構造ごとの計算量を一度確かめておくと役に立ちます。
判定結果の読み方とつまずきやすい表示
提出すると、結果は次のような英語の短い表示で返ります。
| 表示 | 意味 | まず疑う点 |
|---|---|---|
| Accepted | 正解 | 時間・空間計算量を説明できるか |
| Wrong Answer | 出力が誤り | 表示された失敗ケースの境界値 |
| Time Limit Exceeded | 時間切れ | 入力上限・計算量・無限ループ |
| Runtime Error | 実行時エラー | 空配列・範囲外アクセス |
| Compile Error | コンパイル失敗 | 文法・型・名前の誤り、言語選択 |
Wrong Answerのときは、どの入力で落ちたかが表示されます。答えを見に行く前に、その入力を手で追ってみると原因の多くは見つかります。Two Sumは2026年10月23日時点で提出4,117万件に対し正解2,390万件(正解率58.0%)で、最初の1問でも提出の4割強は不正解です。
LeetCodeの日本語対応:英語の問題文を読む現実的な方法
leetcode.com の画面と問題文は英語で、日本語の表示は用意されていません。中国語圏向けには中国版の「力扣」(leetcode.cn)が別に運営されており、力扣の公式競技規則(2025年1月施行)は、中国版と米国版(leetcode.com)のアカウントを別々のアカウントとして扱っています。英語での面接対策を目的にするなら、leetcode.com を選びます。
問題文を読むときは、ブラウザの翻訳機能でページごと日本語にするのが手早い方法です。ただし機械翻訳は「subarray(連続する部分配列)」と「subsequence(連続しなくてよい部分列)」のような区別を落としがちで、ここを取り違えると解法そのものが変わります。翻訳で大意をつかんだら、Example(入出力例)とConstraints(入力の範囲)だけは原文で確認します。Two SumのConstraintsにある「2 <= nums.length <= 104」のような上限は、許される計算量を決める情報です。
LeetCodeの無料版とPremiumの違い:料金と買うべき条件
無料版で使える3,300問と主な機能
無料プランでも、Premium限定を除く3,300問の提出・自動判定、Study Plan、Daily Question、コンテストへの参加、ユーザー投稿の解法(Solutions)とDiscussの閲覧まで使えます。公式解説(Editorial)は一部だけがPremium限定で、残りは無料で読めます。基礎固めからMediumの頻出パターンまでは無料の範囲で足ります。
Premiumの料金と追加される機能
LeetCodeの料金APIが米国向けに返す価格は、2026年10月23日時点で月額プラン35ドル、年額プラン159ドルで、9月から変わっていません。年額は月あたり約13.25ドルで、月額を12か月払うより約62%安くなります。表示価格は地域によって変わることがあるので、購入前にLeetCode Premiumの公式料金ページで確認してください。
公式の購入ページが挙げるPremiumの主な追加機能は次のとおりです。
- 企業別の問題:企業名で問題を並べ替え、その企業向けの模擬面接(Interview Simulations)を受けられる
- Premium限定の問題と解説:787問の限定問題と、限定のEditorial・Exploreコンテンツ
- 開発補助:エディタの自動補完(Autocomplete)とデバッガー
- 判定の優先:提出を優先キューで判定する「Lightning Judge」。混雑時に最大10倍速いと案内されている
- AIの追加枠:AIアシスタント「Ask Leet」の月500クレジット追加と、1日最大30回の解答分析
このうち面接対策で効くのは上の2つです。残りは便利機能で、なくても学習は進みます。
Premiumを買うべき時期と見送ってよい条件
Premiumを買うのは、受ける企業が決まり、面接まで1〜3か月を切った段階です。企業別の出題タグで直近の傾向を絞り込めることが、Premiumに払う主な理由になります。利用予定が1〜3か月なら、月額プランの総額は35〜105ドルで、年額159ドルより安く済みます。5か月以上続けて使うなら年額プランの方が割安です。
逆に、まだEasyを安定して解けない段階や、応募先の選考で企業別の出題傾向を調べる必要がない場合は、無料プランから始めます。無料の3,300問とLeetCode 75・Top Interview 150だけで、面接頻出パターンは一通り練習できます。限定問題を解く前に、無料問題で手が動く状態になっていることが前提です。
LeetCodeで使えるプログラミング言語と面接向けの選び方
アルゴリズム問題で選べる言語は19種類です(Two Sumの言語選択肢で確認)。C++、Java、Python3、Python(2系)、JavaScript、TypeScript、C#、C、Go、Kotlin、Swift、Rust、Ruby、PHP、Dart、Scala、Elixir、Erlang、Racketが並びます。公式ヘルプの環境一覧(2026年3月2日更新)では、Python3が3.14、Javaが25、C++がclang 19(C++23)、JavaScriptがNode.js 22.14.0です。Database問題はMySQL・MS SQL Server・PostgreSQL・Oracleの4方言、pandas問題はPython、Shell問題はBashです。
面接対策なら、本番の面接で使う予定の言語で解くのが原則です。そのうえで迷うならPython3を選びます。辞書・集合・ソートが標準で揃っていて、上のTwo Sumのように記述量が少なく済み、面接の制限時間内に書き切りやすいためです。「Python」と「Python3」は別の選択肢で、前者は2系なので選び間違えないようにします。実行時間の順位だけを目標にせず、解法の計算量とコードの正しさを説明できることを優先します。使える言語は応募先の案内で確認してください。
LeetCodeの勉強法:Study Planの順番と解けないときの手順
公式Study Planの問題数と使い分け
| Study Plan | 問題数 | 公式の想定期間・対象 |
|---|---|---|
| LeetCode 75 | 75 | 準備期間1〜3か月 |
| Top Interview 150 | 150 | 準備期間3か月以上 |
| SQL 50 | 50 | SQLの基礎〜中級・1か月 |
| 30 Days of JavaScript | 35(30日分+追加5問) | JavaScriptの言語仕様 |
| Introduction to Pandas | 15 | pandasの基本操作 |
いずれも無料プランで取り組めます(一覧はLeetCode公式のStudy Planページ)。面接まで3か月を切っているならLeetCode 75、それ以上あるならLeetCode 75の後にTop Interview 150へ進みます。LeetCode 75は配列・文字列(9問)から始まり、二分探索、動的計画法(1次元4問・多次元4問)、グラフのDFS・BFSまでを分野ごとに並べています。4,087問から自分で選ぶより、この順番をそのまま辿る方が分野の抜けが出ません。
公式以外の定番リスト:Blind 75・Grind 75・NeetCode 150
LeetCodeの勉強法を調べると、公式のStudy Plan以外に、利用者が選んだ問題リストの名前がよく出てきます。
- Blind 75:2018年12月30日に匿名の職場コミュニティBlindへ投稿された「Curated List of Top 75 LeetCode Questions」。配列・ビット演算・動的計画法などの分野ごとに75問を並べたもので、先頭はTwo Sum
- Grind 75:Blind 75の作者Yangshun Tay氏がTech Interview Handbookで公開している改訂版。選んだ169問から、面接までの残り期間などに合わせて解く問題と順番を組み直せる。既定は75問
- NeetCode 150:NeetCode(neetcode.io)がBlind 75に75問を足して公開した150問のリスト。公式リポジトリの問題データでは、150問すべてに解説動画が登録されている
どれもLeetCodeの問題から選んだリストです。注意点は、Blind 75のうち6問はLeetCodeのPremium限定だということです。NeetCodeの公式リポジトリの問題データとLeetCodeのAPIで突き合わせると、Meeting Rooms(252)、Graph Valid Tree(261)、Alien Dictionary(269)など6問が該当し、NeetCode 150では7問がPremium限定でした。NeetCodeの問題データは、この6問それぞれに無料で解ける類題として別サイトLintCodeの問題ページを併記しているので、無料プランのまま進めるならそちらで代わりに解けます。また、Blind 75はNeetCode 150にそのまま含まれるなど中身が重なるので、複数を並行すると同じ問題を何度も選び直すことになります。一つに絞り、最後まで解き切るのが原則です。英語の解説動画で学びたいならNeetCode 150、期間から逆算して計画を立てたいならGrind 75、LeetCodeのサイト内で進捗を管理したいならLeetCode 75を選びます。
LeetCodeで解けない問題への対処:30分を目安にした解説確認と復習
1問に何時間もかけるのは効率が悪いので、次の順で打ち切ります。
- 15分考えて方針が立たなければ、問題ページの「Hint」と「Topics」タグを見る
- 30分で解けなければ「Editorial」(公式解説)か「Solutions」(ユーザー投稿の解法)を読む
- 解説を閉じて自分で書き直し、提出して通るまでやる
- 数日後に同じ問題を白紙から解き直す
4つ目の解き直しを省くと、解説を読んで分かった気になっただけで終わります。LeetCodeはパターン(二つのポインタ、スライディングウィンドウ、二分探索など)の反復練習の場なので、解けた数より「同じパターンを見て手が動くか」で進み具合を測ります。探索や再帰の基礎が不安なら、JavaScriptの探索アルゴリズム|二分探索・線形探索の実装と計算量で選ぶ基準やPythonでフィボナッチ数列を再帰関数で実装する方法|計算量とメモ化・反復での高速化で計算量の考え方を先に押さえておくと、Mediumに入ったときに詰まりにくくなります。
LeetCodeのコンテストとDaily Question:開催日時と習慣化の仕組み
Weekly・Biweekly Contestの日本時間と形式
コンテストは毎週のWeekly Contestと隔週のBiweekly Contestの2種類です。公式APIで直近回の開始時刻を確認すると、Weekly Contest 525は2026年10月25日(日)11時30分、Biweekly Contest 194は10月24日(土)23時30分(いずれも日本時間)の開始で、制限時間はどちらも90分でした。各回4問で、成績に応じてコンテストレーティングが上下します。
日曜午前のWeeklyは日本から参加しやすい時間帯です。面接と同じく時間制限の中で解くので、「40分で1問を書き切る」感覚を試す場に向いています。
Daily Questionのリセット時刻とLeetCoins
毎日1問が指定されるDaily Questionは、UTCの0時(日本時間の午前9時)に切り替わります。日本時間の午前0時を過ぎても同じ問題に取り組めますが、翌朝9時を過ぎると次の問題へ切り替わります。解くと連続日数(ストリーク)が伸び、Premium限定でない日次問題1問につき10 LeetCoinsが貯まります。月の全問を解くと月間バッジがもらえます。解き忘れた日は、Time Travel Ticketを使って同じ暦年のうちに埋め合わせることができ、使えるのは月3枚までです。
LeetCodeとAtCoderの違い:出題形式・言語・評価のされ方
| 項目 | LeetCode | AtCoder |
|---|---|---|
| 主な用途 | 英語圏の面接対策 | 競技プログラミング |
| 解答形式 | 関数を完成させる | 標準入出力を自分で書く |
| 問題文の言語 | 英語 | 日本語と英語 |
| 料金 | 無料+Premium | 無料 |
| 実力の示し方 | 解いた問題の傾向 | レーティングの色 |
外資系や海外企業のコーディング面接を受けるならLeetCodeが本命です。出題の形式も、企業別の傾向を調べる手段もLeetCodeに集まっています。日本企業の選考でアルゴリズム力を示したい、日本語の解説で学びたいという場合はAtCoderとは?色の目安と人数割合・難易度・コンテストの種類と始め方【2026年版】で紹介しているAtCoderの方が向いています。AtCoderはレーティングの色で実力を示せるのに対し、LeetCodeは解いた問題の傾向やコンテストレーティングで示すことになります。
コーディング面接とLeetCodeの限界:生成AI時代の対策の変化
オンライン面接でのAI不正と対面面接への回帰
2025年3月のCNBCの報道によると、米コロンビア大学の学生だったChungin(Roy)Lee氏は、画面上の問題をAIに解かせる自作ツールでオンラインのコーディング面接を通過し、Amazon・Meta・TikTokからインターンの内定を得たと公言しました。同氏はそのツールを「Interview Coder」として事業化したと報じられています。同じ記事は、GoogleのSundar Pichai CEOが2025年2月の社内タウンホールで、採用担当者に対面面接へ戻すことを検討するよう提案したと伝えています。
面接対策では、答えを暗記するだけで終わらせず、解法を選んだ理由と計算量を説明する練習まで行います。ホワイトボード形式や補助ツールを使えない面接に備え、補完やAIを切った状態で、方針を口で説明しながら書きます。Two Sumなら「総当たりはO(n2)で、上限の104要素だと最大49,995,000組。辞書版は平均O(n)で、追加メモリもO(n)」のように、書く前に計算量を声に出して決める習慣をつけておくと、形式が変わっても通用します。
LeetCodeで身につかない実務スキル
LeetCodeのTwo Sumでは、配列と目標値を受け取り、条件を満たす添字を返す関数を実装します。こうした練習では、既存コードを読んで直す、要件の曖昧さを詰める、変更後の回帰テストや設計を考えるといった、実務の比重が大きい力はほとんど鍛えられません。面接でアルゴリズム問題が出ると分かっているときに集中して使い、それ以外の時期は実際に何かを作る時間に回すのが釣り合いの取れた配分です。
よくある質問
LeetCodeは無料で使えますか?
使えます。2026年10月時点の4,087問のうち3,300問は無料プランで提出・判定まで行えます。Premiumが必要なのは787問の限定問題と、企業別の出題タグなどの追加機能です。
LeetCode Premiumの料金はいくらですか?
2026年10月23日時点で、米国向けの価格は月額35ドル、年額159ドルです。年額は月あたり約13.25ドルになります。地域によって表示価格が異なる場合があるので、購入前に公式の料金ページで確認してください。
LeetCodeは日本語で使えますか?
画面も問題文も英語で、日本語表示はありません。問題文はブラウザの翻訳で大意をつかみ、入出力例と制約(Constraints)は原文で確認するのが実用的な読み方です。
LeetCodeは初心者でも使えますか?
変数・ループ・条件分岐・配列を使ったプログラムが書けるなら、Easyの972問から始められます。それらがまだ書けない段階では、Easyでも手が止まります。先にFizzBuzz問題程度を自力で書けるようにしてから始めると挫折しにくくなります。
LeetCodeとAtCoderはどちらから始めればよいですか?
英語での面接を受ける予定があるならLeetCode、日本語で基礎から学びたいならAtCoderから始めます。どちらも無料で始められるので、LeetCodeのEasyとAtCoderのA・B問題を数問ずつ解いて、続けやすい方を選ぶ方法もあります。