[yuseok89] WEEK 04 Solutions#2739
Conversation
๐ yuseok89 ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
์ด๊ฑฐ 2๊ฐ ๋น๊ตํ๋ ๋ถ๋ถ ๋๋๊ณ ๋ฆฌ์คํธ ๋๊ฐ์ค์ ํ๊ฐ ์ํ ๋ค ๋๋ ์ํ์์๋ ๋๋จธ์ง ๋จ์ ๋ฆฌ์คํธ๋ ๊ทธ๋ฅ ๋ค์ ํต์งธ๋ก ๋ถํ์ฃผ๋๊ฒ ๋ ์ข๋๋ผ๊ตฌ์!
๊ทธ๋๊น while ๋ง๊ตฌ ๋จ์ผ if๋ฌธ์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ ์ด๊ฒ ํจ์ฌ ๊น๋ํ๊ณ ์ข์๊ฒ ๊ฐ์์ด์
ํ์ด์ฌ์ or๊ฐ ์ด๋ป๊ฒ ๋จ์ถํ๊ฐ๋ฅผ ํ๋์ง ๊ณ ๋ คํ๋ฉด ๋์ฑ ์ค์ผ์๋ ์๊ตฌ์!
There was a problem hiding this comment.
์ ๋ ์ฝ์ธ์ด ์์๊ฐ๋ง ์์ด์ DP๋ง ํ์๋๋ฐ BFS๋ก ํด๋ ์ถฉ๋ถํ ๊ฐ๋ฅํ๊ฒ ๋ค์!
There was a problem hiding this comment.
์ ๋ while loop ์์ ๋ณต์กํ ์ฐ์ฐ ๋ค์ด๊ฐ๋๊ฑฐ ๋ณ๋ก๋ผ ์ต๋ํ ๊ฐ๋จํ๊ฒ ํ๋๋ฐ, ์ด๋ ๊ฒ ํ์๋ฉด ์ผ๋ฆฌ ๋ฆฌํด์ด ๊ฐ๋ฅํด์ ์ข๋ค์!
There was a problem hiding this comment.
์ด๊ฑฐ ํ์๋ ๋ต์์ 3000ms ๊ฐ๋ ๊ฑธ๋ฆฌ๋๋ฐ
๋ฐฑํธ๋ํน์ ์ ์งํ ์ํ์์
- ์ด์ฐจํผ ๋ต์ด ์๋๋๊ฒ ๋ฏธ๋ฆฌ ์ณ๋ด๊ธฐ
- ์ข ๋ ํจ์จ์ ์ผ๋ก ํ์ํ๊ธฐ
์ด ๋๊ฐ์ง๋ง ์ถ๊ฐํด๋ leetcode ์คํ์๋์ 0ms๊น์ง ๋๋ฌํ ์ ์์ด์!
๊ฝค๋ ํฅ๋ฏธ๋กญ๋๋ผ๊ตฌ์, ์ ๋ ํ๋ํ๋ ์ง์ ์ถ๊ฐํด๊ฐ๋ฉด์ ์ฑ๋ฅ ํ๋ ํ์๋ค์
There was a problem hiding this comment.
์์ฃผ ๊ฐ์ธ์ ์ธ ์๊ฐ์ธ๋ฐ, rec์ ์ฐ์ง ์๊ณ maxDepth ์์ฒด๋ฅผ ์ฌ๊ท๋ก ํ๋ฉด ์ข ์ฝ๋๊ฐ ๊ฐ๋จํด์ง์ง ์์๊น์?
There was a problem hiding this comment.
๋ฐฑํธ๋ํน์์ ํ์๊ณต๊ฐ์ ํ๋ฃจ๋ํ๋๊ฑด ์ข์ ๊ณต๋ถ๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค!
There was a problem hiding this comment.
๋ง์ต๋๋ค! ๋น๋ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ง์๋๋ฐ, ํด๋น ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํ๋ฉด ์กฐ๊ธ์ด๋ผ๋ ๋นจ๋ฆฌ ํ์ ์์๊น์๋ง ์ด์ ์ ๋ง์ถ ์ฝ๋์ด๊ธด ํฉ๋๋ค!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Breadth-First Search, Hash Map / Hash Set
- ์ค๋ช : ์ฝ๋๋ BFS๋ฅผ ์ฌ์ฉํด ๋ชจ๋ ๊ธ์ก ์กฐํฉ์ ํ์ํ๋ฉฐ ์ต๋จ ๋์ ์ ์ฐพ๋๋ค. ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ v ๋์ ๋๋ฆฌ๋ก ์ถ์ ํ๊ณ , ํ์ ๋์ ํฉ์ ์ ์ฅํด ๋ ๋ฒจ๋ง๋ค ์ต์ ๋์ ์๋ฅผ ๊ตฌํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(amount * len(coins)) | O(amount * len(coins)) | โ |
| Space | O(amount) | O(amount) | โ |
ํผ๋๋ฐฑ: ์ํ์ด amount์ธ DP/BFS ๋ฐฉ์์ผ๋ก ๊ฐ ๊ธ์ก์ ๋๋ฌํ๋ ์ต์ ๋์ ์๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. ๊ธ์ก ๋ฒ์๊ฐ ํฌ๋ฉด ๊ณต๊ฐ๊ณผ ์๊ฐ์ด ์ปค์ง๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search
- ์ค๋ช : ํ์ ๋ ์ ๋ ฌ ๋ฐฐ์ด์์ ์ต์๊ฐ์ ์ด๋ถ ํ์์ผ๋ก ์ฐพ๋ ๋ฌธ์ ๋ก, ์ค๊ฐ ์ธ๋ฑ์ค์ ์ ๋ ๊ฐ์ ๋น๊ตํด ๋ฒ์๋ฅผ ์ ๋ฐ์ผ๋ก ์ถ์ํฉ๋๋ค. ๋ก๊ทธ ์๊ฐ ๋ณต์ก๋ O(log N)์ ๋ณด์ฅํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(logN) | O(log n) | โ |
| Space | O(1) | O(1) | โ |
ํผ๋๋ฐฑ: ์ค๊ฐ๊ฐ ๋น๊ต๋ฅผ ํตํด ํ์ ์ฌ๋ถ๋ฅผ ํ๋จํ๊ณ ๋ฒ์๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ฌ ๊ตฌ๊ฐ์ ์ถ์ํฉ๋๋ค.
๊ฐ์ ์ ์: ํน์ ๊ฒฝ๊ณ ์ผ์ด์ค์์์ ๋น๊ต ๋ก์ง์ ๋ ๋ช ํํ ๋ค๋ฌ์ผ๋ฉด ์์ ์ฑ์ด ์ฆ๊ฐํฉ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Depth-First Search, Binary Search, Divide and Conquer
- ์ค๋ช : ์์ ๋ ธ๋๋ฅผ ์ฌ๊ท์ ์ผ๋ก ํ์ํ๋ฉฐ ๊น์ด๋ฅผ ๊ตฌํ๋ ๋ถํ ์ ๋ณต ํํ์ DFS ๋ฐฉ์์ผ๋ก ํธ๋ฆฌ์ ์ต๋ ๊น์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๊ฐ ๋ ธ๋์ ์ข์ฐ ํ์ ๊น์ด์ ์ต๋๊ฐ์ 1์ ๋ํ๋ ๋ฐฉ์์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N) | O(n) | โ |
| Space | O(H) | O(h) | โ |
ํผ๋๋ฐฑ: ํธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ๋ฉฐ ์ข์ฐ ์๋ธํธ๋ฆฌ ๊น์ด๋ฅผ ๋น๊ตํด ๊น์ด๋ฅผ ๋ฐํํฉ๋๋ค.
๊ฐ์ ์ ์: ๊ผญ ํ์ํ ๊ฒฝ์ฐ ๊ผฌ๋ฆฌ ์ฌ๊ท ์ต์ ํ๋ ๋ฐ๋ณต ๋ฐฉ์์ผ๋ก๋ ๊ตฌํ ๊ฐ๋ฅํ์ง๋ง ํ ๊ตฌํ๋ ์ ์ ํฉ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Merge Sort / Divide and Conquer
- ์ค๋ช : ๋ ๊ฐ์ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ํ ์นธ์ฉ ๋น๊ตํ๋ฉฐ ํฉ์น๋ ๊ณผ์ ์ ๋ ํฌ์ธํฐ(Two Pointers)๋ก ๊ตฌํ๋๋ฉฐ, ๋ ๋ฆฌ์คํธ๋ฅผ ๋์์ ์ํํด ์๋ก์ด ์ ๋ ฌ๋ ๋ฆฌ์คํธ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๋ํ ๋ถ๋ถ์ ์ผ๋ก ๋ถํ ๋ ๋ฐฐ์ด์ ํฉ์น๋ ์์ด๋์ด๋ Divide and Conquer์ ๋งฅ๋ฝ๊ณผ๋ ์ฐ๊ฒฐ๋ฉ๋๋ค(์ฌ๊ธฐ์๋ ์ง์ ์ ์ธ ์ฌ๊ท๊ฐ ์์ง๋ง ํฉ์น๋ ๊ณผ์ ์ด ๋ถํ -ํฉ์น ํจํด๊ณผ ์ ์ฌ).
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N+M) | O(n + m) | โ |
| Space | O(1) | O(1) | โ |
ํผ๋๋ฐฑ: ์ธ์ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํด ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ก ํฉ์นฉ๋๋ค. ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ด ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํฉ๋๋ค.
๊ฐ์ ์ ์: ๋ฃจํ ์ข ๋ฃ ์กฐ๊ฑด๊ณผ ์ด๊ธฐํ ๋ถ๋ถ์ ๊ฐ๊ฒฐํ๊ฒ ๋ค๋ฌ์ผ๋ฉด ๊ฐ๋ ์ฑ์ด ์ข์์ง๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Depth-First Search, Backtracking
- ์ค๋ช : ์ฝ๋๋ 2์ฐจ์ ๊ฒฉ์์์ ์ธ์ ํ ๋ฌธ์๋ก ๋จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ๋ก๋ฅผ DFS๋ก ํ์ํ๊ณ , ๋ฐฉ๋ฌธ ํ์๋ฅผ ๋ฐฑํธ๋ํนํ๋ฉฐ ๊ฐ๋ฅํ ๊ฒฝ๋ก๋ฅผ ๋ชจ๋ ์๋ํฉ๋๋ค. ๋ฌธ์ ์ ํน์ฑ์ ๋ถ๋ถ ๊ฒฝ๋ก๋ฅผ ๋๋๋ฆฌ๋ฉฐ ํ์ํ๋ ๋ฐฑํธ๋ํน ํจํด์ด ํต์ฌ์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(NM4^L) | O(N * 4^L) | โ |
| Space | O(L) | O(L) | โ |
ํผ๋๋ฐฑ: ๋จ์ด์ ๊ธ์ ์ L์ ๋ฐ๋ผ ํ์ ํธ๋ฆฌ์ ํญ์ด ์ปค์ง ์ ์์ด ์ต์ ์๊ฐ์ ์ฆ๊ฐํฉ๋๋ค. ์ฌ์ ์นด์ดํธ๋ก ๋น ๋ฅธ ๋ถ๊ฐ๋ฅ ํ๋จ์ ํฌํจํฉ๋๋ค.
๊ฐ์ ์ ์: ์ ๋ ฅ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ์ง์น๊ธฐ๋ฅผ ๋ ๊ฐํํ๊ฑฐ๋ ๋นํธ๋ง์คํน/๋ฐฉ๋ฌธ ๋ฐฐ์ด ์ฌ์ฌ์ฉ์ ํตํด ์์ ๊ณต๊ฐ์ ๋๋ฆฌ์ง ์๋๋ก ๊ฐ์ ๊ฐ๋ฅ.

๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!