[sonshn] WEEK 04 Solutions#2754
Conversation
๐ sonshn ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming
- ์ค๋ช : ์ด ์ฝ๋๋ ๊ฐ ๋จ๊ณ์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ด์ ๋ ๊ฐ์ ํฉ์ผ๋ก ๊ณ์ฐํ๋ ํผ๋ณด๋์นํ ์ ํ์ DP๋ก ํ์ดํฉ๋๋ค. ๋ฐฐ์ด์ ์ด์ฉํ ์ํ ์ ์ฅ๊ณผ ๋ฐ๋ณต์ ํตํ ๊ณ์ฐ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ์ด๊ธฐ ์์ธ ์ฒ๋ฆฌ์ DP ๋ฐฐ์ด ์ฌ์ฉ์ผ๋ก ๊ฐ n์ ๋ํด ํ ๋ฒ์ฉ ๊ณ์ฐํ๋ค. ์ฐ์ฐ์ ์ ํ์ ์ด๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Bit Manipulation
- ์ค๋ช : ์ ์์ ์ด์ง ํํ์์ 1์ ๊ฐ์๋ฅผ ์ธ๋ ์ฐ์ฐ์ผ๋ก, ๋นํธ ๋จ์ ์ฐ์ฐ๊ณผ ์ํํธ๋ฅผ ์ด์ฉํ ํจํด์ด๋ค. n & 1์ผ๋ก ์ตํ์ ๋นํธ๋ฅผ ํ์ธํ๊ณ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋์ํค๋ ๋ฐฉ์์ด ํต์ฌ์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(1) | O(k) | โ |
| Space | O(1) | O(1) | โ |
ํผ๋๋ฐฑ: ๋นํธ ์ํํธ๋ฅผ ํตํด 1์ ๊ฐ์๋ฅผ ๋์ ํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search, Monotonic Stack, Hash Map / Hash Set, Greedy, Divide and Conquer, Dynamic Programming, Two Pointers, Sliding Window, Fast & Slow Pointers, BFS, DFS, Backtracking, Union Find, Trie, Bit Manipulation
- ์ค๋ช : ์ฃผ์ด์ง ์ฝ๋๋ ๋ฌธ์์ด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํ ํ ์ ๋ ฌํด์ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก, ์์ ๊ฐ์ ์์๋ฅผ ๋ฌด์ํ ๋๋ฑ์ฑ ํ๋จ์ ๋ค๋ฃฌ๋ค. ์ ๋ ฌ ์์ฒด๊ฐ ํต์ฌ ์ฐ์ฐ์ด๋ฉฐ, ์ด๋ฅผ ํตํด ๋ ๋ฌธ์์ด์ ๊ตฌ์ฑ ๋ฌธ์๊ฐ ๋์ผํ์ง ํ์ธํ๋ ํจํด์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(nlogn) | O(n log n + m log m) | โ |
| Space | O(n) | O(n + m) | โ |
ํผ๋๋ฐฑ: ์ ๋ ฌ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฑ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Greedy
- ์ค๋ช : ๋ ํฌ์ธํฐ(left, right)๋ฅผ ์ ๋์์ ์์ํด ๋ฌธ์ ๋น๊ต ์ ํน์๋ฌธ์ ์ ๊ฑฐ ๋ฐ ์๋ฌธ์ ๋น๊ต๋ฅผ ์งํํ๋ ํจํด์ผ๋ก, ํ ๋ฒ์ ์ํ๋ก ์กฐ๊ฑด ๊ฒ์ฌ์ ์ข ๋ฃ๋ฅผ ์ํํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(n) | O(n) | โ |
| Space | O(1) | O(1) | โ |
ํผ๋๋ฐฑ: ๊ณต๋ฐฑ/๊ธฐํธ ์ ๊ฑฐ ๋ฐ ์๋ฌธ์ ๋น๊ต๋ฅผ ์ํํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
parkhojeong
left a comment
There was a problem hiding this comment.
์๊ณ ํ์ จ์ต๋๋ค.
PR ์ค๋ช ์ ์ธ๊ธํ์ 4์ฃผ์ฐจ ๋ฌธ์ ์ธ์ ๋ค๋ฅธ ํ์ด๋ file changed์ ํฌํจ๋์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋ฆฌ ๋ถํ๋๋ฆฌ๊ณ์ต๋๋ค.
There was a problem hiding this comment.
์ฌ๊ท๋ก ํธ์ จ๊ตฐ์. ์์ฒญ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ด์ด์ ์ข์ ๊ฑฐ ๊ฐ์ต๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Depth-First Search, Breadth-First Search, Binary Search
- ์ค๋ช : ์ฝ๋๋ ์ฌ๊ท์ ์ผ๋ก ํธ๋ฆฌ์ ๊น์ด๋ฅผ ๊ตฌํ๋ DFS์ ๋ฐ๋ณต์ ์ผ๋ก ๋ ๋ฒจ ๋จ์๋ก ํธ๋ฆฌ๋ฅผ ์ํํ๋ BFS๋ฅผ ๋ชจ๋ ํฌํจํฉ๋๋ค. ๋ ๋ฐฉ์ ๋ชจ๋ ํธ๋ฆฌ์ ๋์ด๋ ๋ ธ๋ ์๋ฅผ ์ด์ฉํ ํ์ ํจํด์ ํด๋นํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.maxDepth โ Time: โ
O(n) โ O(n) / Space: โ O(h) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(n) | O(n) | โ |
| Space | O(h) | O(n) | โ |
ํผ๋๋ฐฑ: ํธ๋ฆฌ ๊ฐ ๋ ธ๋๋ฅผ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฏ๋ก ์๊ฐ ๋ณต์ก๋๋ ๋ ธ๋ ์์ ์ ํ์ ์ ๋๋ค. ์ฌ๊ท ํธ์ถ ๊น์ด๋ ํธ๋ฆฌ์ ์ต๋ ๋์ด์ ์ํด ๊ณต๊ฐ์ด ๊ฒฐ์ ๋ฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.maxDepth โ Time: โ
O(n) โ O(n) / Space: โ
O(n) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(n) | O(n) | โ |
| Space | O(n) | O(n) | โ |
ํผ๋๋ฐฑ: ๋ชจ๋ ๋ ธ๋๋ฅผ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๊ณ ํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋ฒจ์ ๊ตฌ๋ถํฉ๋๋ค. ์ต์ ์ ๊ฒฝ์ฐ ํ์ ๋ง์ ๋ ธ๋๊ฐ ๋จ์ ์์ ์ ์์ต๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Divide and Conquer, Two Pointers
- ์ค๋ช : ๋ ์ ๋ ฌ ๋ฆฌ์คํธ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณํฉํ๋ ๋ฐฉ์์ ๋ฌธ์ ๋ฅผ ๋ฐ์ผ๋ก ๋๋ ํด๊ฒฐํ๋ ๋ฏํ Divide and Conquer ์ฑ๊ฒฉ๊ณผ, ๊ฐ ๋จ๊ณ์์ ์์ ๋ฌธ์ ์ ํด๋ฅผ ์ฐ๊ฒฐํด ์ ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ํน์ง์ด ์์ต๋๋ค. ๋ํ ๋ ๋ฆฌ์คํธ๋ฅผ ํ ๋ฐฉํฅ์ผ๋ก ๋น๊ตํ๋ฉฐ ํฌ์ธํฐ๋ฅผ ์ด๋์ํค๋ ์๋ฐฉํฅ ํ์์ ์ฐ์ ์ฒ๋ฆฌ๋ก Two Pointers ํจํด๋ ์ ์ฉ๋ฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(n + m) | O(n + m) | โ |
| Space | O(n + m) | O(n + m) | โ |
ํผ๋๋ฐฑ: ์ฌ๊ท ํธ์ถ ์คํ์ผ๋ก ์ธํด ์ถ๊ฐ ๊ณต๊ฐ์ด ํ์ํ์ง๋ง ๊ฐ ์ฌ๊ท ํธ์ถ๋ง๋ค ์์ ๋ ธ๋ ํ๋์ฉ ์ฐจ์งํฉ๋๋ค. ํฉ๋ณ ์์ฒด๋ ์ ํ ์๊ฐ์ ์ํ๋ฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
@parkhojeong forkํ ์ ์ฅ์์์ fork ๋๊ธฐํ ์์ ์งํํด์ ์ด๋ฒ ์ฃผ์ฐจ์ ํด๋นํ๋ file ๋ค๋ง ์ด๋ ฅ์ ๋ฐ์๋๋๋ก ํ์ต๋๋ค. |
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!