[parkhojeong] WEEK 02 Solutions#2701
Conversation
๐ parkhojeong ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
- ํด๋น ๋ฌธ์ ์๋ ๋๋์ ์ ์ฐ์ง ์๋๋ก ๊ถ์ฅํ๊ณ ์์ด์! ํ๋ฒ ์๋ํด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์์
- ๋๋์ ์ ์ฐ์ง ์๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋ฉด ์์ฐ์ค๋ฝ๊ฒ 0์ ๊ฐฏ์์ ๋ฐ๋ฅธ edge case๋ค์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋ฉ๋๋ค!
@alphaorderly ์ค ํด๋น ๋ด์ฉ์ ๋์ณค๋ค์. ๋ค์ ํ์ด์ ์ ๋ฐ์ดํธ ํด๋์์ต๋๋ค. f1fa20e ๋ฆฌ๋ทฐ ๊ฐ์ฌํฉ๋๋ค! :) |
sonshn
left a comment
There was a problem hiding this comment.
์ ์ฒด์ ์ผ๋ก ๋ฌธ์ ์ ์๋์ ๋ง๊ฒ ์ ํ์ดํด์ฃผ์ ๊ฒ ๊ฐ์ต๋๋ค! ๊ฐ์ธ์ ์ผ๋ก 3sum ๋ฌธ์ ์์ two pointer ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ ๊ฒ๊ณผ, Validate BST ๋ฌธ์ ์์ DFS ํจ์๋ฅผ ๊ตฌํํ์ ๊ฒ์์ ๋ง์ด ๋ฐฐ์๊ฐ๋๋ค! ์ด๋ฒ ์ฃผ๋ ๊ณ ์ ๋ง์ผ์ จ์ต๋๋ค!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Sorting
- ์ค๋ช : 3Sum ๋ฌธ์ ๋ฅผ ์ด์ค ํฌ์ธํฐ(j, k)๋ก ๊ตฌ์ฑํ๊ณ , ๋จผ์ ์ ๋ ฌํ ๋ค ์์ชฝ ํฌ์ธํฐ๋ก ํฉ์ด 0์ด ๋๋ ์กฐํฉ์ ์ฐพ๊ณ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํํฉ๋๋ค. ์ด ๊ตฌ์กฐ๋ Two Pointers ํจํด์ ๋ํ์ ์์์ด๋ฉฐ, ๋ด๋ถ ๋ฃจํ์์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํฌ์ธํฐ๋ฅผ ์ด๋ํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n^2) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ๋ ฌ๊ณผ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํตํด ๋ถํ์ํ ๊ณ์ฐ์ ํผํ๊ณ , ๋ ํฌ์ธํฐ์ ์ด๋์ผ๋ก ์ ์ฒด ์๊ฐ ๋ณต์ก๋๋ฅผ O(n^2)๋ก ๋ฌ์ฑํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming
- ์ค๋ช : ํด๋ผ์ด๋ฐ ์คํ ๋ฌธ์ ๋ ๋ ๊ฐ์ง ๊ฒฝ์ฐ์ ํฉ์ผ๋ก ์์๋ฅผ ์ธ๋ DP ์ ํ์์ผ๋ก ํด๊ฒฐ๋๋ฉฐ, ์ด์ ์ํ๋ฅผ ์ด์ฉํด ํ์ฌ ๊ฐ์ ๊ตฌํ๋ ์ ํ์ ์ธ ๋์ ๊ณํ๋ฒ ํจํด์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ์ ํ ์๊ฐ์ ํ์ํ ๊ฐ๋ค์ ๋ฐฐ์ด์ ์ ์ฅํ๋ฉฐ ํด๊ฒฐํฉ๋๋ค. ์์ฉ๊ตฌ์ ๊ฐ๋จํ ์ต์ ํ๋ก ๊ณต๊ฐ์ O(1)์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Dynamic Programming, Hash Map / Hash Set
- ์ค๋ช : ๋ ๊ฐ์ ๋ฐฐ์ด ์ํ๋ก ๊ฐ ์์์ ๅทฆ/ๅณ ๊ณฑ์ ๋ฏธ๋ฆฌ ๊ณ์ฐํ๋ ๋ฐฉ์์ผ๋ก, ํ ๋ฒ์ ์ ๋ฐฉํฅ/์ญ๋ฐฉํฅ ํจ์ค๋ก ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. DP์ ์์ด๋์ด๋ก ๋ถ๋ถ๋ฌธ์ ๋ฅผ ์ด์ฉํด ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ์ป์ง๋ง ํด์๋ ํฌ์ธํฐ ๊ธฐ๋ฐ์ ํน์ ๊ตฌ์กฐ๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๋ ํจ์ค ๊ตฌ์ฑ์ผ๋ก ์ถ๊ฐ ๊ณต๊ฐ ์์ด ๊ฐ ์์น์ ๊ณฑ์ ๊ณ์ฐํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set, Greedy
- ์ค๋ช : ๋ ๋ฌธ์์ด์ ๋ฌธ์ ๋น๋๋ฅผ ํด์ ๋งต(Counter)์ผ๋ก ๋น๊ตํ์ฌ ๊ฐ์์ง ํ์ธํ๋ ๋ฐฉ์์ผ๋ก, ๋ฌธ์์ด ๋น๊ต์ ์ฒดํฌ๋ฅผ ํด์ ๊ธฐ๋ฐ ์นด์ดํธ๋ก ํด๊ฒฐํฉ๋๋ค. ์ด ์์ฒด๋ก๋ ๊ทธ๋ฆฌ๋/ํ์๋ณด๋ค๋ ํด์ ๋งต ํ์ฉ์ ๊ฐ๊น์ด ํจํด์ด์ง๋ง, ๋น๋ ์ผ์น ์ฌ๋ถ๋ฅผ ๋น ๋ฅด๊ฒ ํ๋จํ๋ ํด์ ๊ธฐ๋ฐ ์ ๊ทผ์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(k) |
ํผ๋๋ฐฑ: Counter๋ฅผ ์ด์ฉํด ๊ฐ๊ฒฐํ๊ฒ ๊ตฌํ๋์๊ณ ์ ํ ์๊ฐ์ ํด๊ฒฐํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search, Depth-First Search, Monotonic Stack, Hash Map / Hash Set
- ์ค๋ช : BST์ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํ์ธํ๋ฉฐ ๊ฐ ๋ ธ๋์ ๋ํด ํ์ฉ๋๋ ๊ฐ์ ๋ฒ์๋ฅผ ์ถ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ถ ํ์์ ์ถ์ฝ(๋ฒ์ ์ ํ)๊ณผ DFS๋ฅผ ํจ๊ป ํ์ฉํฉ๋๋ค. ๋ ธ๋ ๋ฐฉ๋ฌธ์ ์ข/์ฐ ์์์ ๋ํด ๋ฒ์๋ฅผ ๊ฐฑ์ ํ๋ฉฐ ์กฐ๊ฑด ํ์ธ์ ๋ฐ๋ณตํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(h) |
ํผ๋๋ฐฑ: ๊ฐ ๋ ธ๋์ ๋ํด ์ํ/ํํ์ ์ ๋ฌํด BST ํน์ฑ์ ๊ฒ์ฌํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
๋ฆฌ๋ทฐ ๊ฐ์ฌํฉ๋๋ค! 3sum์ด ๊น๋ค๋ก์์ ์๊ฐ์ ๋ง์ด ํฌ์ํ๋ ๊ฑฐ ๊ฐ์ต๋๋ค. |
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!