[alphaorderly] WEEK 07 Solutions - #2793
Conversation
# Conflicts: # word-break/alphaorderly.py
๐ alphaorderly ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Sliding Window, Hash Map / Hash Set
- ์ค๋ช : ๋ฌธ์์ด์ ๋ ํฌ์ธํฐ๋ก ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ์๋๋ก ์ผ์ ๊ธธ์ด๋ฅผ ํ์ฅ/์ถ์ํ๋ฉฐ ์ค๋ณต ๋ฌธ์๋ฅผ ํด์ํ๋ Sliding Window ํจํด์ผ๋ก ๊ตฌํ๋์๊ณ , ํ์ฌ ์๋์ฐ ๋ด ๋ฌธ์ ๋น๋๋ Hash Map์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ํด๋น ์ฝ๋๋ ๋ฌธ์ ๋ฑ์ฅ ํ์๋ฅผ ์นด์ดํธํ๋ ํด์๋งต์ ์ฌ์ฉํด ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ , ์ผ์ชฝ ํฌ์ธํฐ๋ฅผ ์ด๋์ํค๋ฉฐ ์๋์ฐ๋ฅผ ์ ์งํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Depth-First Search, Breadth-First Search
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋์์ DFS(์ฌ๊ท๋ฅผ ์ด์ฉํ ํ์)์ BFS(ํ๋ฅผ ์ด์ฉํ ํ์)๋ก 0/1 ๊ฒฉ์์์ ์ฐ๊ฒฐ๋ ๋ ์ ๋ฐฉ๋ฌธํด ์ฌ์ ๊ฐ์๋ฅผ ์ธ๋ ๋ฐฉ์์ด ๊ฐ๊ฐ ๊ตฌํ๋์ด ์์ต๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.numIslands โ Time: O(m * n) / Space: O(m * n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m * n) |
| Space | O(m * n) |
ํผ๋๋ฐฑ: BFS ๊ตฌํ์ ํ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ ํ ๋ ์ ์์ฐจ์ ์ผ๋ก ๋ฐฉ๋ฌธํ๋ฉฐ ๋ฐฉ๋ฌธ ํ์๋ฅผ ๋จ๊น๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.numIslands โ Time: O(m * n) / Space: O(m * n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m * n) |
| Space | O(m * n) |
ํผ๋๋ฐฑ: DFS ์ฌ๊ท๋ฅผ ์ฌ์ฉํด ์ฐ๊ฒฐ๋ ์์ญ์ ํ์ํ๊ณ ๋ฐฉ๋ฌธํ ๊ณณ์ '#'์ผ๋ก ํ์ํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Linked List
- ์ค๋ช : head์ prev๋ฅผ ์ด์ฉํ ๋ ธ๋ ํฌ์ธํฐ ์ฌ๋ฐฐ์ด๋ก ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ญ์์ผ๋ก ๋ง๋ฆ. ํ๋์ ๋ฐ๋ณต์์ ํ์ฌ ๋ ธ๋์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ๊ตํํ๋ฉฐ ์ํํ๋ ๋ฐฉ์์ผ๋ก O(n) ์๊ฐ, O(1) ์ถ๊ฐ ๊ณต๊ฐ์ ๋ฌ์ฑํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ธ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๊ตํํ๋ ๋ฃจํ๋ฅผ ํตํด ๋ ธ๋๋ฅผ ์ญ์์ผ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Greedy, Dynamic Programming, Hash Map / Hash Set, Two Pointers, Sliding Window, Backtracking, Depth-First Search (DFS), Breadth-First Search (BFS), Divide and Conquer, Union Find, Trie, Bit Manipulation, Heap / Priority Queue, Monotonic Stack, Binary Search, Dynamic Programming
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋๋ ์ถ๊ฐ ๊ณต๊ฐ ์์ด ํ๊ณผ ์ด์ ํ์๋ฅผ ์ฒซ ํ/์ด์ ์ ์ฅํด 0์ผ๋ก ์ค์ ํ ์์น๋ฅผ ํ์ํ๋ ์์ด๋์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๊ฒ์ ๊ณต๊ฐ ์ต์ ํ๋ฅผ ์ํ ์ํ ํ์ ํจํด์ผ๋ก ๋ถ๋ฅ๋๋ฉฐ, ๋ฌธ์ ์ ๋ชฉํ๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด ํ๋ฅผ ๋ ๋ฒ ์ํํ๋ ๊ตฌ์กฐ๋ก ๋์ํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m * n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ฒซ ํ/์ด ๋ง์ปค๋ฅผ ์ด์ฉํด ์ถ๊ฐ ๊ณต๊ฐ ์์ด ์ ๋กํ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming, Binary Search, Hash Map / Hash Set, Greedy, Divide and Conquer, Two Pointers, Sliding Window, Fast & Slow Pointers, BFS, DFS, Backtracking, Union Find, Trie, Bit Manipulation, Monotonic Stack, Heap / Priority Queue
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋๋ 2D DP์ 1D DP ์ต์ ํ, ๊ทธ๋ฆฌ๊ณ ์ํ์ ์กฐํฉ ๊ณต์์ ์ด์ฉํ ํด๋ฒ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ํต์ฌ์ ์ค๋ณต๋ ๋ถ๋ถ๋ฌธ์ ํด๊ฒฐ๊ณผ ์์๋ฅผ ํฉ์ฐํ๋ DP ํจํด์ผ๋ก ๋ณด์ด๋ฉฐ, ๋ง์ง๋ง ์ผ์ด์ค๋ ์กฐํฉ ๊ณต์์ ์ด์ฉํ ๋ถํ ์ ๋ณต์ ํ ํํ์ ํด๋นํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 3๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.uniquePaths โ Time: O(m * n) / Space: O(m * n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m * n) |
| Space | O(m * n) |
ํผ๋๋ฐฑ: ์ด๊ธฐํ์ ์ ํ์์ผ๋ก ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ๋์ ํฉ๋๋ค. 2D DP ๋ฒ์ ๊ณผ 1D DP ๋ฒ์ ์ด ํจ๊ป ์ ์๋์ด ์์.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.uniquePaths โ Time: O(m * n) / Space: O(n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m * n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ค์ธ ๋ฒ์ ์ผ๋ก ๋์ผํ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 3: Solution.uniquePaths โ Time: O(m + n) / Space: O(1)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(m + n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๊ฒฝ๋ก์ ์๋ฅผ ์กฐํฉ์ผ๋ก ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์ ๊ณต๊ฐ์์ ๋น ๋ฅธ ํด๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
2D DP์์ dp ๋ด์ฉ์ ์ถ๋ ฅํ๊ณ
๋๊ฐ์ ์ผ๋ก ๋ณด๋ฉด Pascal Triangle์ด ๋ง๋ค์ด์ง๋๋ค.
์ด๊ฒ๋๋ก Combination ์ฐ์ฐ์ผ๋ก ํ์
๋ ๋งจ ์๋ ์ฝ๋๋ฅผ ์ป์์ ์์ผ์ธ์!
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!