๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Programming ๊ฐœ๋ฐœ/๐ŸŽ iOS ๊ฐœ๋ฐœ, Swift

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

by kimdee 2022. 5. 13.
๋ฐ˜์‘ํ˜•

์š”์ฆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift์ด ์ฑ…์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

https://www.raywenderlich.com/books/data-structures-algorithms-in-swift

 

์ €๋Š” ์ •๋ฆฌํ•˜๋‹ค๋ณด๋ฉด ์ž๊พธ ๋ฒˆ์—ญํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ๋…ธ์…˜์— ์ •๋ฆฌํ•ด๋‘” ๊ฑธ ๋ณด๊ณ  ํ‹ฐ์Šคํ† ๋ฆฌ์—๋„ ์˜ฌ๋ฆฌ๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์–ด์„œ ๊ณต์œ ํ•ด๋ด…๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ์ •ํ™•ํžˆ๋Š” ์ถœํŒ๋ฌผ ํ˜•ํƒœ์˜ ์ฑ…์€ ์•„๋‹ˆ๊ณ , ์›นํŽ˜์ด์ง€ ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ์š”. Raywenderlich ์—์„œ ํ”„๋กœ ๊ตฌ๋…์œผ๋กœ ์›” 39.99๋‹ฌ๋Ÿฌ๋ฅผ ๋‚ธ๋‹ค๋ฉด ์ฑ…์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

๊ตฌ๋…์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜ ๋งํฌ์—์„œ ์ž์„ธํžˆ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Subscription | raywenderlich.com Store

Can I share my account with others in the office? No, according to our Terms of Service, your login may only be used by one person — i.e., a single login may not be shared by multiple people. If you are an organization, you must create a separate account

store.raywenderlich.com

 

์œ ๋ฃŒ ์ œํ’ˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ‹ฐ์Šคํ† ๋ฆฌ์— ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์€ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์ธ ์„น์…˜ 2์˜ ์ฑ•ํ„ฐ 7์ธ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ๊นŒ์ง€ ๋ฒˆ์—ญํ•˜์—ฌ ๊ณต๊ฐœํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ํ—Œ์‚ฌ๋‚˜ ์†Œ๊ฐœ, ๊ฐ์‚ฌ์˜ ๋ง๊ณผ ๊ฐ™์ด ์ฑ…์˜ ํ•ต์‹ฌ ๋‚ด์šฉ๊ณผ ์ง์ ‘์ ์œผ๋กœ ๊ด€๊ณ„์—†๋Š” ๋ถ€๋ถ„์€ ๋งํฌ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค!  ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š” :) 

 


 

์„น์…˜ 0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

1. ์ค€๋น„๋ฌผ

์ด ์ฑ…์„ ๋”ฐ๋ผ๊ฐ€๊ธฐ์— ์œ„ํ•ด์„œ ์•„๋ž˜ ์ค€๋น„๋ฌผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœ์‹  Mac OS๊ฐ€ ๊ตฌ๋™๋˜๋Š” Mac
  • ๊ฐœ๋ฐœ๋„๊ตฌ Xcode๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Xcode 13 ๋˜๋Š” ์ดํ›„ ๋ฒ„์ „
  • Xcode๋Š” Swift๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์š” ๊ฐœ๋ฐœ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Swift 5.5๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ตœ์†Œํ•œ Xcode 13๋ฒ„์ „์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ(https://apple.co/1FLn51R) Mac ์•ฑ ์Šคํ† ์–ด์—์„œ ์ตœ์‹  ๋ฒ„์ „์˜ Xcode๋ฅผ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ Xcode ์ตœ์‹  ๋ฒ„์ „์„ ์„ค์น˜ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ์ด ์ฑ…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์„ค์น˜๋ฅผ ๋งˆ์ณ์•ผํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์—์„œ ๋‹ค๋ฃจ๋Š” ์ฝ”๋“œ๋Š” Swift 5.5์™€ Xcode 13์—์„œ ๊ตฌ๋™๋˜๋ฏ€๋กœ, ์ด์ „ ๋ฒ„์ „์œผ๋กœ ์ž‘์—…ํ•  ๊ฒฝ์šฐ ๊ธธ์„ ์žƒ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

2. ์ฑ…์˜ ์†Œ์Šค์ฝ”๋“œ, ํฌ๋Ÿผ

2-1) ์ฑ… ์ž๋ฃŒ ๋‹ค์šด๋ฐ›๊ธฐ

์ด ์ฑ…์˜ ์ž๋ฃŒ๋Š” Github ์ €์žฅ์†Œ์—์„œ ๋ณต์ œ(Clone)ํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2-2) ํฌ๋Ÿผ

์ด ์ฑ…์˜ ๊ณต์‹ ํฌ๋Ÿผ์„ ์•„๋ž˜ ๋งํฌ์— ๊ฐœ์„คํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฑ…์— ๋Œ€ํ•ด ์งˆ๋ฌธ์„ ํ•˜๊ฑฐ๋‚˜, ์ฑ…์—์„œ ๋ฐœ๊ฒฌํ•œ ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://forums.raywenderlich.com/c/books/data-structures-algorithms-swift

 

3. ํ—Œ์‚ฌ

 

Data Structures & Algorithms in Swift, Chapter iii: Dedications

“To my team, family, and friends.” — Kelvin Lau “To my friends and family who I know will never read this book.” — Vincent Ngo

www.raywenderlich.com

4. ํŒ€์†Œ๊ฐœ

 

Data Structures & Algorithms in Swift, Chapter iv: About the Team

Kelvin Lau is an author of this book. Kelvin is a physicist turned Swift iOS Developer. While he’s currently entrenched with iOS development, he often reminisces of his aspirations to be part of the efforts in space exploration. Outside of programming wo

www.raywenderlich.com

 

5. ๊ฐ์‚ฌ์˜ ๋ง

 

Data Structures & Algorithms in Swift, Chapter v: Acknowledgments

We’d like to acknowledge the efforts of the following contributors to the Swift Algorithm Club GitHub repo (https://github.com/raywenderlich/swift-algorithm-club), upon whose work portions of this book are based. Matthijs Hollemans, the original creator

www.raywenderlich.com

 

 

6. ์„œ๋ฌธ

“iOS ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ˜๋“œ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋‚˜์š”?”

 

์ด ์งˆ๋ฌธ์€ ์ œ๊ฐ€ ์†ํ•œ ์˜จ๋ผ์ธ ํ† ๋ก ๊ทธ๋ฃน์—์„œ ๋งŽ์ด ์˜ฌ๋ผ์˜ค๋Š” ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ œ ๊ฐœ์ธ์˜ ์ „๋ฌธ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•จ์œผ๋กœ์จ ์ด ์งˆ๋ฌธ์— ๋‹ตํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ทจ๋ฏธ๋กœ ์‹œ์ž‘ํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ € ์—ญ์‹œ๋„ ์ปดํ“จํ„ฐ ๊ณผํ•™์— ๋Œ€ํ•œ ๋ฐฐ๊ฒฝ์ง€์‹ ์—†์ด ๋…ํ•™์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ตํ˜”์Šต๋‹ˆ๋‹ค. ์ˆ˜๋…„์— ๊ฑธ์ณ ์•ฝ๊ฐ„์˜ ์ง€์‹์€ ์–ป์—ˆ์ง€๋งŒ, ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ด๋ฉด์˜ ํ™•๊ณ ํ•œ ๊ธฐ๋ฐ˜์ง€์‹์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ์„๊นŒ์š”? ์•„๋‹ˆ์š”. ๋Œ€๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„๋Œ€์˜ ๊ฐœ๋ฐœ์ž๋กœ์„œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋Œ€๋ถ€๋ถ„ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์—๋Š” ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. Swift์˜ ๋ฐฐ์—ด๊ณผ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ์˜ค๋ž˜ ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ... ์ œ๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์—…ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋•Œ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ด ๋ชปํ•˜๊ฑฐ๋‚˜ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅธ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œ์˜€์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฐ ์žฅ์• ๋ฌผ์— ๋ถ€๋”ช์น  ๋•Œ๋งˆ๋‹ค, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ์— ๋‚ด๊ฐ€ ๋˜‘๋˜‘ํ•˜์ง€ ๋ชปํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š”, ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ๋ถ€์กฑํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์–ดํœ˜๋กœ, ์›ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์–ผ๋งˆ๋“  ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฃผ๋กœ ๋ชจ๋ฅด๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ œ ์ฒซ์‹œ๋„๋Š” ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฌด์ฐจ๋ณ„๋กœ ๋Œ€์ž…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ์ž˜ ์ž‘๋™ํ–ˆ์ง€๋งŒ, ๋ณดํ†ต์€ ์ž˜ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋‹จ์ˆœํ•œ ์†”๋ฃจ์…˜์€ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์ˆ˜์ผ์ด ๊ฑธ๋ฆฌ๊ณ , ๊ตฌํ˜„๊ฐ€๋Šฅํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. (์‹ฌ์ง€์–ด ์ €๋Š” Big-O ํ‘œ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์ง€๋„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค!)

 

ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ต์„ ๋„์ถœํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋“ค์€ ์ด๋ฏธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์— ์˜ํ•ด ์ˆ˜๋งŽ์ด ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋ฉฐ, ์ž˜ ์•Œ๋ ค์ง„ ์†”๋ฃจ์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋น„๊ฒฐ์€, ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ณณ์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์šด ๊ฒƒ์ด ๊ฒฐ์‹ค์„ ๋งบ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ์นญํ•˜๋Š”์ง€ ์•Œ๊ฒŒ ๋œ๋‹ค๋ฉด ๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ์€ ์‰ฝ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด, iOS ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ํ•„์š”ํ• ๊นŒ์š”? ์ €๋Š” ์•„๋‹ˆ๋ผ๊ณ  ๋Œ€๋‹ตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉด์„œ ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ ์ค‘ 95%๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ ์—†์ด๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ์‹œ์ ์—์„œ๋Š” ๋‹จ์ˆœํžˆ ๋ฌด์ฐจ๋ณ„๋กœ ๋Œ€์ž…ํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋Š” ๊ตฌํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ์— ๋ง‰ํžˆ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ ๋„๊ตฌ์ƒ์ž๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ช‡๋…„ ์ „, ์ €๋Š” ์ด๋Ÿฐ ์ง€์‹์˜ ๊ฒฉ์ฐจ๋ฅผ ๋ฉ”์šฐ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฑ…์„ ๊ตฌ๋งคํ•˜๊ณ , Swift์— ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ €๋Š” ๊ฐ€๋ฅด์น˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ํ•™์Šต๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ๊ฐ€ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๋“ค์— ์„ค๋ช…์„ ๋‹ฌ์•„์„œ Github ๋ ˆํฌ์— ์˜ฌ๋ฆฌ๊ธฐ๋กœ ๋งˆ์Œ๋จน์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Swift ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํด๋Ÿฝ์ด ํƒ„์ƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋งŽ์€ ์‚ฌ๋žŒ๋“ค๋กœ๋ถ€ํ„ฐ ๊ธฐ์—ฌ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ•จ๊ป˜ 100๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์žˆ๋Š” ๋ฉ‹์ง„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋กœ์„œ ์ˆ˜๋งŽ์€ Pull ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋งŽ์•„์กŒ๊ธฐ ๋•Œ๋ฌธ์— raywenderlich.com์— ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ถ€ํ•˜์˜€๊ณ , ์ด๊ณณ์€ ํ›Œ๋ฅญํ•œ ์ง‘์ด ๋˜์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์ƒˆ๋กœ์šด ๊ด€๋ฆฌ์ž์ธ Kelvin๊ณผ Vincent๋Š” ์˜ค๋Š˜๋‚  ๋ฉ‹์ง„ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์ˆ˜๊ณ ํ•˜์—ฌ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด๋“ค์€ ์ด๊ฒƒ๋“ค์„ ์ฑ…์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ํ›จ์”ฌ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ์—ฌ๋Ÿฌ๋ถ„์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ ์ง€์‹์„ ์˜ฌ๋ฆฌ๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด, ์ œ๋Œ€๋กœ ๋œ ๊ณณ์œผ๋กœ ์˜ค์‹  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ฑ…์„ ๋๋ƒˆ๋‹ค๋ฉด Github์—์„œ The Swift Algorithm Club์œผ๋กœ ์™€์„œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์žฅ์ ์„ ๋” ๋งŽ์ด ์‚ดํŽด๋ณด์„ธ์š”.

 

— Matthijs Hollemans

 


๐Ÿ”— ๋ฒˆ์—ญ ์‹œ๋ฆฌ์ฆˆ ๋งํฌ

0๏ธโƒฃ ์„น์…˜ 0. ์‹œ์ž‘ํ•˜๊ธฐ์ „์—

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 0. ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์š”์ฆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift์ด ์ฑ…์„ ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์ €๋Š” ์ •..

kimdee.tistory.com

1๏ธโƒฃ ์„น์…˜ 1. ์†Œ๊ฐœ Introduction

> ์ฑ•ํ„ฐ 1.์™œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์›Œ์•ผํ• ๊นŒ์š”? / ์ฑ•ํ„ฐ 2. ๋ณต์žก๋„  Complexity

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ1. ์™œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„

Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜..

kimdee.tistory.com

> ์ฑ•ํ„ฐ3. ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Swift Standard Library

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ3. ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ S

Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜..

kimdee.tistory.com

 

1๏ธโƒฃ ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ Elementary Data Structure

> ์ฑ•ํ„ฐ 4. ์Šคํƒ Stacks /  ์ฑ•ํ„ฐ 5. ์Šคํƒ ๋„์ „๊ณผ์ œ Stack Challenges

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ4~5. ์Šคํƒ, ์Šคํƒ ๋„์ „

Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ๊ฒŒ ๋ด์ฃผ์„ธ์š”. https://www.raywenderlich.com/books/data-structures-algorithms-in-swift ์„น์…˜..

kimdee.tistory.com

> ์ฑ•ํ„ฐ 6-1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ Linked List (์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ์ •์˜, ์š”์†Œ ์ถ”๊ฐ€, ์‚ญ์ œ)

 

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (์ •

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฆ๊ฒ..

kimdee.tistory.com

> ์ฑ•ํ„ฐ 6-2. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ Linked List (์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฝœ๋ ‰์…˜ ํ”„๋กœํ† ์ฝœ, ์นด์šฐ Copy-On-Write,  ๋ฐธ๋ฅ˜ ์‹œ๋งจํ‹ฑ)

 

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-2. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ6-2. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (์Šค์œ„ํ”„ํŠธ ์ฝœ๋ ‰์…˜ ํ”„๋กœํ† ์ฝœ, ๋ฐธ๋ฅ˜ ์‹œ๋งจํ‹ฑ, COW(์นดํ”ผ-์˜จ-๋ผ์ดํŠธ)) Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures &..

kimdee.tistory.com

 

> ์ฑ•ํ„ฐ 7. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ Linked List Challenges

 

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ7. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 2. ๊ธฐ์ดˆ ์ž๋ฃŒ๊ตฌ์กฐ - ์ฑ•ํ„ฐ7. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋„์ „๊ณผ์ œ Raywenderlich.com ์—์„œ ๋‚˜์˜จ Data Structures & Algorithms in Swift ์ฑ…์˜ ๋ฐ๋ชจ ๊ณต๊ฐœ๋ณธ์„ ๋ฒˆ์—ญํ•˜์˜€์Šต๋‹ˆ๋‹ค..

kimdee.tistory.com

 


๋งˆ์น˜๋ฉฐ 

 

์˜ค๋Š˜๋„ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

๊ถ๊ธˆํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ, ๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

ํ˜น์‹œ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํ”ผ๋“œ๋ฐฑํ•˜์‹ค  ๋‚ด์šฉ ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“  ๋Œ“๊ธ€๋กœ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๋ฐ˜์‘ํ˜•

'๐Ÿ’ป Programming ๊ฐœ๋ฐœ > ๐ŸŽ iOS ๊ฐœ๋ฐœ, Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ3. ์Šค์œ„ํ”„ํŠธ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Swift Standard Library  (0) 2022.05.14
[Swift][๋ฒˆ์—ญ] ์Šค์œ„ํ”„ํŠธ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„น์…˜ 1. ์†Œ๊ฐœ - ์ฑ•ํ„ฐ1. ์™œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์›Œ์•ผํ• ๊นŒ์š”? ์ฑ•ํ„ฐ2. ๋ณต์žก๋„  (0) 2022.05.13
[Swift] ์‚ฌ์šฉ์ž ์ปฌ๋Ÿฌ์…‹ ์ถ”๊ฐ€ํ•˜๊ณ  UI Color ํ™•์žฅํ•˜์—ฌ ์ฝ”๋“œ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ  (0) 2022.04.04
[Swift] ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•œ Cocoapods ์„ค์น˜ ๋ฐ ์„ค์ • + ์„ค์น˜๊ณผ์ •์— ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธธ ๊ฒฝ์šฐ  (0) 2022.03.28
[Swift]๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์— ๋งž์ถฐ ์…€ ์‚ฌ์ด์ฆˆ๋ฅผ ์กฐ์ •ํ•˜๊ณ ์ž ํ•  ๋•Œ + ์‚ฌ์ด์ฆˆ๊ฐ€ ์•ˆ ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• (CollectionViewDelegateFlowLayout ํ”„๋กœํ† ์ฝœ)  (0) 2022.03.17

๋Œ“๊ธ€