๐จ๐ปโ๐ป ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋ (์์ฐ)
์คํฐ๋ ๋ชฉ์ /๋ชฉํ
- ์ฝ๋ฉ ํ
์คํธ๋ฅผ ํ์๋ก ํ๋ ๊ธฐ์
์ ๋๋นํ๊ธฐ ์ํด
- ์๊ณ ๋ฆฌ์ฆ/์ฝ๋ฉ ํ
์คํธ์ ์นํด์ง๊ธฐ ์ํด
- ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ฌ๊ณ ๋ ฅ ํฅ์์ ์ํด
ํ์ตํ ๋ด์ฉ
์๋ฃ๊ตฌ์กฐ
- array
- linked list
- stack
- queue
- deque
- tree
- graph
- BST
- heap
- hash table
์๊ณ ๋ฆฌ์ฆ
- big-O
- sorting ์ผ๋ฐ/๊ณ ๊ธ
- simulation
- brute force
- recursion
- iteration
- binary search
- BFS/DFS
- backtracking
- divide and conquer
- bit manipulation
- two pointers
- sliding window
- dynamic programming
๋ฌธ์ ํ์ด ํ๋ซํผ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ค์ ๊ธฐ์
๋ค์ด ์ฝ๋ฉ ํ
์คํธ ํ๋ซํผ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค
- ๋ ๋ฒจ ๋ณ ๋์ด๋๋ก ๋๋์ด ์๋ค.
- ์นด์นด์ค ์ฝํ
๊ธฐ์ถ ๋ฌธ์ ๋ฅผ ๋ณด์ ํ๊ณ ์๋ค
- LeetCode
- ๋ฐฉ๋ํ ๋ฌธ์
- ๋ฌธ์ ๊ฐ ์์ด๋ก ๋์ด์์ผ๋ ์๊ณ ๋ฆฌ์ฆ ์นดํ
๊ณ ๋ฆฌ ๋ณ๋ก ์ ๋ถ๋ฅ๋์ด ์๋ค
- ๊ฐ๊ตญ ๊ณ ์๋ค์ ํ์ด ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ์ฌ ๊ฐ์ ํด๋ณผ ์ ์๋ค.
ํ์ต ๋ฐฉ์
์๋
ผ์ด ํ์ํ ๋ถ๋ถ
- Swift๋ก ์ฝํ
์ค๋น??
- swift๋ฅผ ์ ์ธํ ์ธ์ด๋ก ์์ ๊ฐ๋ฅํ์ง๋ง, ์ข
์ข
swift๋ก ์ ํ์ด ๊ฑธ๋ ค์๋ ํ์ฌ๋ ์๋ค.
- ์คํฐ๋์ ๊ฐ์ ์ํต์ ์ํ ์ธ์ด ํต์ผ?
- ์๊ทธ๋ฃน์ผ๋ก ๋๋์ด์ ์๋ก ํ์ธ??
- ์ธ์์ด ๋ง๊ธฐ์ 3๊ฐ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด ์ธ๋ถ ์ด์
- ์๊ทธ๋ฃน๋ณ ์ฃผ๊ฐ/์๊ฐ ๋ชฉํ ์ค์
- ex) 1์ฃผ์ฐจ Sorting ์๊ณ ๋ฆฌ์ฆ ํ์ต, 2์ฃผ์ฐจ brute-force ํ์ต
- ex) 1์ฃผ์ฐจ DFS ํ์ด, 2์ฃผ์ฐจ DP ํ์ด
- ๋์ด๋๋ณ ๊ทธ๋ฃน ๋ถ๋ฐ??
- (ํ์ต)๊ธฐ์ด๋ถํฐ ํ์ตํ๋ A๋ฐ
- ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ธฐ์ด ํ์ต ๋ฐ ๊ธฐ๋ณธ ์ ํ์ ๋ํ ๋ฌธ์ ํ์ด
- (์ค๋น) ์ ํ๋ณ ๋ฌธ์ ํ์ด ๋ฐ๋ก ์งํํ๋ B๋ฐ
- ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
์ง์์ด ์ ํ๋์ด์์์ ๊ฐ์
- ์ฝํ
์ค๋น ํํ๋ก ๋ฌธ์ ํ์ด๋ฅผ ๋ง์ดํ์ฌ ์ ํ์ ์ต์ํด์ง๋ ๊ฒ์ ๋ชฉํ๋ก ๋
- ๋ถ๋ฐ์์ B๋ฐ 1๋ช
์ด, A๋ฐ 2~3๋ช
๋ฉํฐ(?)์ฒ๋ผ ๋งก์์ ์งํ
- ๋ถ๋ฐํ๋ค๊ณ ํด์ ์๋ก ๋ฐ๋ก ํ๋ ๊ฒ์ X, ์๋ก ์ฝ๋์ ๋ํ ์ง์์๋ต์ ์์ ๋กญ๊ฒ, ํ์ต์ ์์ด์ ๋งํ๋ ๋ถ๋ถ์ ์๋ก ๊ณต์ ๋ฐ ํด๊ฒฐ์ ์ํ ํผ๋๋ฐฑ ์ฃผ๊ณ ๋ฐ๊ธฐ
- ๋งค์ฃผ ์์์ผ ์คํ 14:00~16:00 ์งํ ์์ (1~2์๊ฐ ์์ ์์ )
ํ์ต์ ์คํฐ๋ ๋ฐฉ์/๊ฐ์ธ ํ์ต ๋ฐฉ์์ ๋ณํํ๋ ค๊ณ ํฉ๋๋ค. ์คํฐ๋ ๋์๋ ๋ฏธ๋ฆฌ ํ์ตํด์จ ๊ฐ๋
๋ค์ ๋ํด ๊ถ๊ธํ์ ๋ฑ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ๋ณด๊ณ ํ์ด๋ฅผ ๊ณต์ ํ๊ณ ์งํ ์ํฉ์ ์ ๊ฒํฉ๋๋ค.
๋๋ต์ ์ธ ์ผ์ฃผ์ผ ์ค์ผ์ค
- ์คํฐ๋ ๋ฐฉ์
- ์์ตํด์จ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
์ ๋ํด ์๊ฒฌ ๋๋๊ธฐ
- ๋ฏธ๋ฆฌ issue๋ก ๋ฑ๋กํ์ฌ ์ด์ผ๊ธฐ ์ฃผ์ ์ ํ
- ๋๋ค์ผ๋ก 2๋ช
์ฉ ๋ฌธ์ ํ์ด ๋ฐฉ๋ฒ ์ค๋ช
- ๊ฐ์ธ์ ์ผ๋ก ์ธ์๊น์๋(?), ๊ณต์ ํ๊ณ ์ถ์ ๋ฌธ์ ํ์ด ์ค๋ช
- ๊ฐ์ธ ํ์ต
- ๋งค์ผ 2๊ฐ์ ๋ฌธ์ ๋ฅผ ํ์ด (๋์ด๋๊ฐ ์ฌ๋ผ๊ฐ ๊ฒฝ์ฐ ๊ธฐ๊ฐ/๊ฐ์ ์กฐ์ )
- ์ผ์ฃผ์ผ = 10๋ฌธ์
- ํ๋ค๊ฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ ๊ฒฝ์ฐ ์๋ก ๊ณต์ ํ์ฌ ํจ๊ป ๋ฌธ์ ํด๊ฒฐ
- Github | oraganization repo์ ๋ณธ์ธ ํด๋์ ๋ฌธ์ ํ์ด(
.swift
์๊ธฐ)
- ๋ฌธ์ ๋ ํด๋นํ๋ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ง๋ ๊ฒ์ผ๋ก ์ ํ
- (+) ์ถ๊ฐ ํ์ด ๋ฐ ํ์ต์ ์์ !
๋ฌธ์ ํ์ด ๋ฑ๋ก ์์
๊ท์น, ์ธ๋ถ ์ด์๋ฐฉ์์ด ์ ํด์ง๋ฉด ์ปค๋ฐ ๊ท์น, ๋ธ๋์น, ๊ฐ๋ณ ํด๋ ์์ฑํ ๊ฒ์~!
์ฐธ๊ณ ํ์ต ์๋ฃ
Swift Algorithm Club
์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
- ๋ธ๋ก๊ทธ(Ries ๋ง๋ฒ์ ์ํผ๋ง๋ฆฌ์ค)
์งํ๋ฐฉ์
- 1/5๊น์ง๋ ๋ง๋ณด๊ธฐ
- ๋ฌธ์์ด (์นด์นด์ค)
- ์ ๊ท ํ์ (์นด์นด์ค)
- 1/12์ ์ง์ง! ์์!
๐ค Algorithm ์คํฐ๋ A๋ฐ
๐ค ์ฐธ์ฌ์
๋ชฉ์ฐจ
๐ค ๊ณตํต Rule
- ๋งค์ฃผ
์์์ผ
์ ํด์ง ์๊ฐ์ ๋ชจ์ฌ์ ์คํฐ๋๋ฅผ ์งํํฉ๋๋ค
- ๋งค์ฃผ ์คํฐ๋ํ ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ github์ ์ ๋ฆฌ ํ ๋์ค์ฝ๋์ ๋งํฌ๋ฅผ ๊ณต์ ํฉ๋๋ค.
- ๊ฐ์ ์ ์งํ๊ณ , ํ์ต ํจ๊ณผ๋ฅผ ๊ทน๋ํํ๊ธฐ ์ํด ๋งค์ผ ํ์ดํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๐ค ์ปค๋ฆฌํ๋ผ
๐ค ์ปค๋ฐ ์ปจ๋ฒค์
programmers
: programmers ํ์ด
leetcode
: leetcode ํ์ด
ds
: ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ตํ๊ณ ์ ๋ฆฌํ ๋ด์ฉ
algo
: ์๊ณ ๋ฆฌ์ฆ์ ํ์ตํ๊ณ ์ ๋ฆฌํ ๋ด์ฉ
chore
: ํด๋/ํ์ผ ๊ตฌ์กฐ ๋ณ๊ฒฝ
docs
: ๊ณตํต ๋ฌธ์ ์์ ๋ฐ ์ถ๊ฐ
๐ค ๋ฌธ์ ํ์ด ๋ฑ๋ก ๋ฐฉ๋ฒ
๐โโฌ ๋ฌธ์ ํ์ด ์ดํ github์ push!
(๋ณธ์ธ ๋ธ๋์น/๋ณธ์ธ ํด๋๋ง ์ง์ ์ ์ผ๋ก ์์ ํ์๋ฉด ๋ฉ๋๋ค!)
๐ด branch ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๋ณธ์ธ branch๋ก ์ด๋
- ๋ณธ์ธ ํด๋๋ก ์ด๋
- ๋ฌธ์ ํ์ด ํ๋ซํผ(programmers, leetcode etc) ํด๋ ๋ด์ ํด๋นํ๋ ๋ฌธ์ ํ์ด ํ์ผ ์ถ๊ฐ
- ๋งค์ฃผ ์คํฐ๋ ์ด์ ์ main branch์ merge
๐ ํ์ผ๋ช
๊ท์น
โโโโ- Programmers: `์ด๋ฆ_๋ฌธ์ ๋ช
.swift`
โโโโ - ex) `[์ฐจ์ฐจ] ์ ๊ท ์์ด๋ ์ถ์ฒ.swift`
โโโโ- LeetCode: `์ด๋ฆ_๋ฌธ์ ๋ช
.swift`
โโโโ - ex) `[์ฐจ์ฐจ] Two Sums.swift`
- ํ์ผ ์์ฑ ์์
ex. Sorting the Sentence.swift