[freemjstudio] WEEK 03 Solutions#2733
Conversation
|
๐ freemjstudio ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Sorting
- ์ค๋ช : 3sum ๋ฌธ์ ์์ ์ ๋ ฌ ํ ๋ ํฌ์ธํฐ(left, right)๋ฅผ ์ด์ฉํด ํฉ์ด 0์ด ๋๋ ์กฐํฉ์ ์ฐพ๋ ํจํด์ ์ฌ์ฉํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํ ์คํต๋ ํฌํจ๋์ด ์์ด ๋ํ์ ์ธ Two Pointers ํ๋ฆ์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n^2) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ๋ ฌ ํ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด i ๋ฃจํ์์ ๊ฑด๋๋ฐ๊ธฐ์ left/right ์ค๋ณต ๊ฒ์ฌ๋ก ์ค๋ณต ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฑฐํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming
- ์ค๋ช : ์ ํ์ ways(n) = ways(n-1) + ways(n-2) ๋ฅผ ์ด์ฉํ ํผ๋ณด๋์นํ DP๋ก n๋ฒ์งธ ๊ณ๋จ ์๋ฅผ ๊ตฌํ๋ ์ ํ์ ์ธ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ํ์ด์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ์ด๊ธฐ ์กฐ๊ฑด ์ฒ๋ฆฌ์ ์ ํ์์ ์ด์ฉํด ๋ฐ๋ณต์ผ๋ก ๊ณ์ฐํ๋ค.
๊ฐ์ ์ ์: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ค์ด๋ ค๋ฉด ๊ณต๊ฐ์ O(1)์ผ๋ก ์ต์ ํ ๊ฐ๋ฅํ๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Backtracking
- ์ค๋ช : Combination Sum ๋ฌธ์ ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํ์ํ๋ฉฐ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ํ๋ ๋ฐฑํธ๋ํน ํจํด์ผ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. ๊ฐ์ง์น๊ธฐ ์กฐ๊ฑด์ผ๋ก ํฉ์ด ๋ชฉํ๋ฅผ ๋์ผ๋ฉด ๊ฐ์ง์น๊ณ , ๊ฒฝ๋ก๋ฅผ ๋ณต์ฌํด ์ ์ฅํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(k * number_of_combinations) |
| Space | O(k) |
ํผ๋๋ฐฑ: path๋ฅผ ๊น์ ๋ณต์ฌํด ์ ์ฅํ๊ณ ์ฌ๊ท์ ์ผ๋ก ๋ฐฑํธ๋ํนํ๋ค.
๊ฐ์ ์ ์: ์ค๋ณต ์กฐํฉ ์ ๊ฑฐ๋ฅผ ์ํ ์ ๋ ฌ ๋ฐ ์์ ์ธ๋ฑ์ค ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค๋ฉด ์ด๊ธฐ ํ๋ณด๋ฅผ ์ ๋ ฌํ๋ ๊ฒ๋ ๊ณ ๋ ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set
- ์ค๋ช : ๋ฐฐ์ด ์์ ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์งํฉ(Hash Set)์ผ๋ก ์ค๋ณต ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๋ ํจํด์ ๋๋ค. ํ ๋ฒ์ ์ค์บ์ผ๋ก ๊ณ ์ ์์ ์๋ฅผ ๋น๊ตํ์ฌ ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ๋จํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๋ฆฌ์คํธ ๊ธธ์ด์ ์งํฉ ๊ธธ์ด๋ฅผ ๋น๊ตํด ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค.
๊ฐ์ ์ ์: ์ถ๊ฐ ์ต์ ํ๊ฐ ํ์ํ๋ฉด ํด์ ์ธํธ๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ถฉ๋ถํ ํจ์จ์ ์ด๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Bit Manipulation, Greedy
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋์์ 1์ ๊ฐ์๋ฅผ ์ธ๋ ์ฐ์ฐ์ ๋นํธ ์กฐ์ ๋ฐฉ์์ผ๋ก ์ํ๋๋ฉฐ(๋นํธ ์ฐ์ฐ ๋์ฒด๋ฅผ ์ง์ ๊ตฌํ) ๋นํธ ํจํด์ ๋ค๋ฃจ๋ ํจํด์ ์ํ๋ค. ๋ํ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฐ ๋นํธ๋ฅผ ์ฐจ๋ก๋ก ํ์ธํ๋ฉฐ ํฉ์ฐํ๋ ์ผ๋ฐ์ ์ธ ๋นํธ ์กฐ์ ์ ๊ทผ์ผ๋ก ๋ถ๋ฅ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: bin(n) ์ฌ์ฉ ๋๋ ๋นํธ ์ฐ์ฐ์ผ๋ก ์ฐจ์์ ๋ฐ๋ผ 1์ ๊ฐ์๋ฅผ ์นด์ดํธํ๋ค.
๊ฐ์ ์ ์: ๊ฐ๋ ์ฑ/์ฑ๋ฅ ์ธก๋ฉด์์ ํ์์ ๋ฐ๋ผ ๋นํธ ํ์ ์ต์ ํ ๊ธฐ๋ฒ(Kernighan์ ์๊ณ ๋ฆฌ์ฆ) ๋์ ๊ฐ๋ฅ.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Hash Map / Hash Set, Greedy, Dynamic Programming, Divide and Conquer, Bit Manipulation, Sliding Window, Backtracking, Depth-First Search, Breadth-First Search, Union Find, Trie, Heap / Priority Queue, Monotonic Stack
- ์ค๋ช : ์ด ์ฝ๋๋ ์ ๋ ฅ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์์ ์ ์ ์ธํ ๊ณฑ์ ๊ตฌํ๊ธฐ ์ํด ์ข์ฐ์์ ๋์ ๊ณฑ์ ๊ฐ๊ฐ ๊ณ์ฐํ ๋ค ๊ณฑํ๋ ๋ฐฉ์์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์ฑํ๋ค. ๋ณด์กฐ ๋ฐฐ์ด ํ๋๋ก ์ข์ธก ๋์ ๊ณฑ๊ณผ ์ฐ์ธก ๋์ ๊ณฑ์ ํจ๊ณผ๋ฅผ ํฉ์ฑํด O(n)์ผ๋ก ํด๊ฒฐํ๋ ํจํด์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๋ ํจ์ค๋ก ์ผ์ชฝ ๊ณฑ๊ณผ ์ค๋ฅธ์ชฝ ๊ณฑ์ ํฉ์ณ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ ๋ค.
๊ฐ์ ์ ์: ์ถ๊ฐ ๋ฐฐ์ด ์ฌ์ฉ ์์ด๋ ๊ฐ๋ฅํ์ง๋ง, ์ถ๋ ฅ ๋ฐฐ์ด์ ์ด๋ฏธ ํ์ ๊ณต๊ฐ์ด๋ฏ๋ก ํ์ฌ ๊ตฌํ์ ์ ์ ํ๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Heap / Priority Queue, Hash Map / Hash Set
- ์ค๋ช : ํด์๋งต์ผ๋ก ๊ฐ ์ซ์์ ๋น๋๋ฅผ ๊ตฌํ๊ณ , ์ต์ ํ์ผ๋ก ์์ k๊ฐ๋ฅผ ์ ์งํ๋ ๋ฐฉ์์ผ๋ก ์ต๋น ์์๋ฅผ ์ฐพ์ต๋๋ค. ์ด๋ ๋น๋ ๊ณ์ฐ๊ณผ ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํ ๋ถ๋ถ ์ ๋ ฌ์ ์กฐํฉ์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n log k) |
| Space | O(k + m) |
ํผ๋๋ฐฑ: ๋น๋ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ต์ ํ์ ์ ์งํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ ํํ๋ค.
๊ฐ์ ์ ์: ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฌ ๊ธฐ๋ฐ ์ ๊ทผ์ด๋ ํ์ดํ๋ผ์ธ ์ต์ ํ ๊ณ ๋ ค ๊ฐ๋ฅ.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set
- ์ค๋ช : ํด๋น ์ฝ๋๋ ํ ์ซ์์ ํ์ํ ์ฐจ์ด๋ฅผ ํด์๋งต์ ์ ์ฅํ๊ณ , ํ์ฌ ์ซ์์์ ์ฐจ์ด๊ฐ ์ด๋ฏธ ์กด์ฌํ๋์ง ํ์ธํ์ฌ ์ ๋ต์ ์ฐพ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์๊ณผ ์กฐํ๋ฅผ ๋น ๋ฅด๊ฒ ์ํํ๋ ํด์ ๋งต ํจํด์ด ์ ์ฉ๋ฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ํ ๋ฒ์ ์ํ๋ก ๋ต์ ์ฐพ์ง๋ง, ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐํ ์์ ์ด ๋ค๋ฅผ ์ ์๋ค.
๊ฐ์ ์ ์: ๋์ผํ ๊ฐ์ ์ธ๋ฑ์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ฃผ์ ํ์.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!