[hwi-middle] WEEK 12 solutions#2609
Conversation
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Greedy, Sorting
- ์ค๋ช : ์ด ์ฝ๋๋ ์ข ๋ฃ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํ, ๊ฒน์น์ง ์๋ ๊ตฌ๊ฐ์ ์ ํํ๋ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์ ๋ ฌ๊ณผ ์ ํ ์ ๋ต์ด ํต์ฌ ํจํด์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n log n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ๋ ฅ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ๋ฐ O(n log n)๊ฐ ์์๋๊ณ , ์ดํ ํ ๋ฒ ์ํํ๋ฉฐ ๊ฒน์น๋ ๊ตฌ๊ฐ์ ์ธ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์๊ฐ ๋ณต์ก๋๋ O(n log n)์ ๋๋ค. ๊ณต๊ฐ์ ์ ๋ ฌ์ ์ํ ์ ์๋ฆฌ ์ ๋ ฌ ๋๋ ๋ณ๋ ๋ฐฐ์ด ์์ด ์ธ๋ฑ์ค๋ง ์ฌ์ฉํ๋ฏ๋ก O(1)์ ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Union Find
- ์ค๋ช : ์ด ์ฝ๋๋ ๋ฌดํฅ ๊ทธ๋ํ์ ์ฐ๊ฒฐ ์ปดํฌ๋ํธ ์๋ฅผ ์ธ๊ธฐ ์ํด Union-Find(๋ถ๋ฆฌ ์งํฉ) ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ธ๋๋ค์ ๋ณํฉํ๋ ๋ฐฉ์์ ์ฑํํ์ต๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n + m) |
| Space | O(n) |
ํผ๋๋ฐฑ: ์ ๋์จ-ํ์ธ๋ ๊ตฌ์กฐ๋ฅผ ํตํด ๊ฐ ์ฃ์ง์ ๋ํด ๋ณํฉ ์ฐ์ฐ์ ์ํํ๋ฉฐ, ๋ณํฉ์ด ์ผ์ด๋ ๋๋ง๋ค ์ปดํฌ๋ํธ ์๋ฅผ ๊ฐ์์ํต๋๋ค. find์ union ์ฐ์ฐ์ ๊ฑฐ์ ์์ ์๊ฐ์ ์ํ๋ฉ๋๋ค. ๊ณต๊ฐ์ ๋ถ๋ชจ ๋ฐฐ์ด ์ ์ฅ์ O(n)์ ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Stack
- ์ค๋ช : ์ด ์ฝ๋๋ ์คํ์ ์ด์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ์ญ์์ผ๋ก ํ์ํ๊ณ ํน์ ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. ์คํ์ ํ์ฉํ ํ์ฒ๋ฆฌ๋ก ๋ ธ๋ ์์น๋ฅผ ์ฐพ๋ ๊ฒ์ด ํน์ง์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉฐ ์คํ์ ๋ ธ๋๋ฅผ ์ ์ฅํ๊ณ , n๋ฒ์งธ ๋ ธ๋๋ฅผ ์คํ์์ popํ์ฌ ์ฐพ์ต๋๋ค. ์ดํ ์ ๊ฑฐ ์์ ์ ์ํํ๋๋ฐ, ๋ฆฌ์คํธ ๊ธธ์ด๋งํผ ๊ณต๊ฐ์ด ํ์ํฉ๋๋ค. ์๊ฐ์ ๋ฆฌ์คํธ ๊ธธ์ด์ ๋์ผํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: DFS
- ์ค๋ช : ์ด ์ฝ๋๋ ์ฌ๊ท ํธ์ถ์ ํตํด ๋ ํธ๋ฆฌ์ ๋ ธ๋๋ฅผ ์ํํ๋ฉฐ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก, ๊น์ด ์ฐ์ ํ์(DFS) ํจํด์ ์ํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(h) |
ํผ๋๋ฐฑ: ๊ฐ ๋ ธ๋์ ๋ํด ์ฌ๊ท์ ์ผ๋ก ๋น๊ตํ๋ฉฐ, ์ต์ ์ ๊ฒฝ์ฐ ํธ๋ฆฌ ๋์ด๋งํผ ํธ์ถ ์คํ์ด ์์ ๋๋ค. ๋ชจ๋ ๋ ธ๋๋ฅผ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํ๋ฏ๋ก ์๊ฐ ๋ณต์ก๋๋ O(n)์ ๋๋ค. ๊ณต๊ฐ์ ์ฌ๊ท ํธ์ถ ์คํ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Breadth-First Search
- ์ค๋ช : ์ด ์ฝ๋๋ ๋ ๋ฒจ ์ํ ๋ฐฉ์์ผ๋ก ํธ๋ฆฌ๋ฅผ ์ง๋ ฌํํ๊ณ ์ญ์ง๋ ฌํํ์ฌ BFS ํจํด์ ์ฌ์ฉํฉ๋๋ค. ํ๋ฅผ ํ์ฉํ์ฌ ๋ ธ๋๋ค์ ์ฐจ๋ก๋ก ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Codec.serialize โ Time: O(n) / Space: O(n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๋ชจ๋ ๋ ธ๋๋ฅผ ํ์ ๋ฃ์ผ๋ฉฐ ์ง๋ ฌํํ๊ณ , ๋ง์ง๋ง null ๊ฐ๋ค์ ์ ๊ฑฐํฉ๋๋ค. ์๊ฐ๊ณผ ๊ณต๊ฐ ๋ชจ๋ ๋ ธ๋ ์์ ๋น๋กํ๋ฉฐ, ํ์ ๋ฌธ์์ด ์ ์ฅ์ O(n) ๊ณต๊ฐ์ด ํ์ํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Codec.deserialize โ Time: O(n) / Space: O(n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๋ฌธ์์ด์ ๋ถ๋ฆฌํ์ฌ ํ์ ์ ์ฅํ๊ณ , ์์ฐจ์ ์ผ๋ก ๋ ธ๋๋ฅผ ์์ฑํ๋ฉฐ ํธ๋ฆฌ๋ฅผ ๋ณต์ํฉ๋๋ค. ๋ชจ๋ ๋ ธ๋์ ๋ํด ํ ๋ฒ์ฉ ์ฒ๋ฆฌํ๋ฏ๋ก ์๊ฐ ๋ณต์ก๋๋ O(n), ๊ณต๊ฐ์ O(n)์ ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
jamiebase
left a comment
There was a problem hiding this comment.
์ด๋ฒ ์ฃผ๋ ์์ฃผ ์ถํ๋๋ฆฝ๋๋ค. ํ์ด ์ ๋ดค์ต๋๋ค!!
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!