エンジニアのコーディング PR

【Swift】LeetCodeの始め方とおすすめコース|コーディングテスト対策・競プロ

記事内に商品プロモーションを含む場合があります

この記事の目的

就職活動や転職活動で必要とされるコーディングテスト.

私は,勉強・頭の体操を兼ねて日頃から,コーディングテスト対策として無料である程度使用できるLeetCodeを使用して,
定期的にコーディングテストを解いています!
そこで,LeetCodeの始め方やおすすめのコースについて紹介しています!
また,xcode・Swiftを用いてコーディングテストを行うために必要な情報や文法などをまとめていきます.

忘れたとき,ふと思い出したときに見に来てくれると嬉しいです!

LeetCodeとは?|コーディングテスト対策

はじめに|公式リンク情報&Swiftの薦め

LeetCodeとは無料(一部問題は有料・Premium会員あり)で.コーディングテストの問題を解くことができます!
Google,Amazon,Meta,Apple,MicrosoftといったGAFAMや,Adobe,LinkedIn,Uberといった企業まで外資企業の対策問題もまとめられています!
外資企業を目指す方にはもってこいのコーディングテスト対策・勉強サイトになります.

また多くの問題が無料で公開されているため,とりあえず無料会員で問題なしです.
問題を解き尽くした場合や本格的にGAFAM対策行いたい場合と,必要となれば月額課金($35/month)を利用でOKです!(年契約で$13.25/month)

公式リンクはこちら→→ https://leetcode.com/

LeetCodeは,Python.C++,JavaScript,Go,Rubyなど様々な言語で問題を解くことができます
ちなみに私はアプリ開発の勉強も込めてSwiftで解いています笑
各言語の回答集も様々な方が書いたコードを見ることができるので,勉強にはもってこいです!言語によって,偏りがありますが…

LeetCodeで解いた問題一覧

LeetCode上には様々な問題が用意されています.
最初にどの問題から解けばいいのか洗濯するのが難しいと思いますが,
とりあえずLeetCode75と公式サイトがまとめてくれているものを解くと良いと思います!
→→ https://leetcode.com/studyplan/leetcode-75/

私も実際にこちらの問題を進めています.下記に自分の進捗情報も載せていくので,ぜひ皆さんの進捗状況も教えて下さい!
お互いに頑張っていきましょう!!

解いた問題

LeetCode 75

Array / String
  • Merge Strings Alternately
  • Greatest Common Divisor of Strings
Two Pointers
  • Move Zeroes

LeetCodeでの最低限の知識

Xcode上でのコーディングテスト対策

XcodeでSimulatorを起動させないで,実行する

Xcode上でコーディングテストを練習するには??
LeetCodeといったコーディング対策サイトでは,サイト上で入力できますが
補完機能が不足していて使いづらい
ということがあると思います.

そこで私は,Xcode上でプログラムを作成→LeetCodeに貼り付けて実行
という形で使用しています.

では,Xcode上でSimulatorを起動させないで,Swiftファイルだけを実行する方法は?

プロジェクトを作成する際に,Command Line Toolを使用することで,Swiftファイルのみの実行環境を作ることができます!

Command Line Toolで作成したプロジェクトでの,新規ファイル追加

Command Line Toolで作成したプロジェクトで新規ファイルを追加で作成したい場合はどのようにすればよいのか?

それは,
①新規ファイル内で関数を作成し,その関数内に記述する
②main.swift内でその関数を呼び出す

といった使い方をすることができます.

// main.swift ファイル内
import Foundation

print("Hello, World!")
newfilefunction()

// =================================
// newfile.swift ファイル内
func newfilefunction(){
    print("hogegege")
}

コーディングテストで必要なSwiftの基礎知識

関数の引数

Swiftの関数はどのような形になっているのか..

func greet(person name: String) {
    print("Hello, \(name)!")
}

greet(person: "John")

このように関数には,関数名(引数ラベル パラメータ名: 型)
という形になります.

引数ラベルとパラメータの違いですが,
簡単に言うと,引数ラベルは呼び出すとき,パラメータ名は関数内で使用となります.

以下のコードと比較することでわかりやすくなると思います!
引数ラベルを_を用いて省略したversionです.

func greet(_ name: String) {
    print("Hello, \(name)!")
}

greet("John")

返り値がある場合は,

func greet(_ name: String) -> String {
    return "Hello, \(name)!"
}

let greetContent = greet("John")
print(greetContent)

のように返り値の型を書いてあげたらOKです!

ちなみにいずれも出力は,Hello, John! となります.

おわりに

このブログでは,SwiftやFlutterなどの日々学びつつアウトプットしています.
他にもおすすめツールがあれば教えて下さい!
また,間違いや改善点があれば,ご指摘いただけますと幸いです!

ABOUT ME
でらにー
個人開発で副業する”サラリーマンエンジニア”です. ちょっと役立つTipsを発信しています! モットーは”無知の知” 知ることで生活を快適に!