[parkhojeong] WEEK 04 Solutions#2749
Conversation
๐ parkhojeong ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
ํน์ ์ฌ๋ผ์ด์ฑ์ ์ฐ์ ์ด์ ๊ฐ ์์ผ์ค๊น์?
์ฌ๋ผ์ด์ฑ์ ๊ทธ ํฌ๊ธฐ๋งํผ O(N) ์๊ฐ๋ณต์ก๋๋ผ ๋น ๋ฅด์ง ์์๊ฒ ๊ฐ์์์,
๋ฌธ์์ด์ immutable ํ ๊ฐ์ฒด๋ผ์ ์๋ก ๋ณต์ฌํด์ ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์๋ํ์์์
There was a problem hiding this comment.
์ด๊ฑฐ ํ์ด 1900ms ๋์ค๋๋ฐ 0ms๊น์ง ์ค์ผ์ ์๋๊ฑฐ ์์๋์? ํ๋ฒ ์๋ํด๋ณด์๋๊ฒ๋ ์ฌ๋ฐ์ผ์ค๊ฑฐ์์!
There was a problem hiding this comment.
๋๋ฌด ์ ํ์ด ์ฃผ์
จ๋๋ฐ, ๋ค๋ง ์กฐ๊ธ ์์ฌ์ด์ ์ ๋ก์ง์ด ๋๋ฌด ๋ณต์กํด์ ์ฝ๋ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง๋๊ฒ ์๋๊น ์ถ์ด์
์ฐจ๋ผ๋ฆฌ ๋๋ฏธ ํค๋๋ฅผ ํ๋ ์จ์ ํธ์๋๊ฒ ๋ ๋์๋ฏ ํ๋ค๋ ์๊ฐ์ด ๋ญ๋๋ค.
์ค์ ๋ก ๋ค๋ฅธ ๋งํฌ๋ ๋ฆฌ์คํธ ๋ฌธ์ ๋ค์ ํ๋ค ๋ณด์๋ฉด ๋๋ฏธ ํค๋๋ฅผ ์ผ์๋ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค ๋ง์ด ์์ด์
|
@alphaorderly ์ฃผ๋ก ์ปค๋ฉํธ๋ฅผ ๋ด ์ปค๋ฉํธ์ ๋จ๊ฒจ์ฃผ์๋ ๊ฑฐ ๊ฐ์๋ฐ์. ๋ณ๋ ์ปค๋ฉํธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ์ข์ ๊ฑฐ ๊ฐ์ต๋๋ค. ๋ฌ์์ฃผ์
จ๋ ๊ฒ๋ค์ ๋ณ๋ ์ปค๋ฉํธ๋ก ๋ต๋ณ๋๋ฆด๊ฒ์ |
c98db17 ๋ก ์ต์ ํ ์๋ํด๋ดค์ต๋๋ค. ์ธํ ํจํด์ ๋ฐ๋ฅธ ์ต์ ํ๋ ์นด์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ๋์ค์ ์ฒดํฌํ๋ ๋ฐฉ์์ด ์ด ๋ฌธ์ ์์ ์ ํฉํ ๊ฑฐ ๊ฐ๋ค์! ์ํ๋ ํธ์ จ๋ ํ์ด์๋ ์ปค๋ฉํธ ํ๋ ๋จ๊ฒจ๋์์ต๋๋ค :) #2737 (comment) |
|
@parkhojeong ๋, ์ฃผ์ฐจ ์ค์ ์ข ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ ๊ทธ๋ผ ํต๊ณ์์ ๋๋ฝ์ด ๋์์.
|
@DaleSeo ์ค์ ํ์ต๋๋ค. ํ์ธ ๊ฐ์ฌํฉ๋๋ค. |
daehyun99
left a comment
There was a problem hiding this comment.
์๋
ํ์ธ์.
4์ฃผ์ฐจ ๋ฆฌ๋ทฐ๋ฅผ ๋งก์ ๊น๋ํ์
๋๋ค!
์ ์ฒด์ ์ผ๋ก ์ ํ์ด์ฃผ์ ๊ฒ ๊ฐ๋ค์. ๊ณ ์ํ์ จ์ต๋๋ค!
There was a problem hiding this comment.
backtrack๊ณผ DIRECTIONS, MARKER๋ฅผ ์ฌ์ฉํ ํ์ด๊ฐ ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ์ ๋์ ์ข๋ค์!
There was a problem hiding this comment.
๋๋ฌธ์ ์ผ์ด์ฑ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ ์ฑ์ด ๊ด์ฐฎ๋๋ผ๊ตฌ์. ๋น๋ ๊ธฐ๋ฐ์ผ๋ก ์ฒดํฌํ๋ ๋ก์ง์ ์ด๊ธฐ ํ ๋ฒ๋ง ํ๋ฉด ๋์ ์ ๋ฆฌํด๋ณด์์ต๋๋ค. 994aca2
There was a problem hiding this comment.
์ด๊ฑด ์ฌ๋ด์ธ๋ฐ
[3, 1] ํ
์คํธ ์ผ์ด์ค์ ๋ํ์ฌ, mid_idx=1์ด ๋๊ณ , ์๋์ ์ฝ๋์์ nums[mid_idx + 1:]๊ฐ nums[2:]๋ก ๋์ด์ ์ธ๋ฑ์ค ์๋ฌ๊ฐ ๋ ์ค ์์๋๋ฐ, ์๋๋๊ตฐ์!
๋ฆฌ๋ทฐํ ๋๋ง๋ค ์๋ก์ด ์ฌ์ค์ ์์๊ฐ๊ฒ ๋๋ค์.
else:
nums = nums[mid_idx + 1:]There was a problem hiding this comment.
ํ์ด์ฌ์ด range ๋์ด๊ฐ๋ ๊ฒฝ์ฐ์ ๋น ๋ฐฐ์ด๋ก ๋๋ ๊ฒ์ ์ฌ์ฉํด๋ณด์์ต๋๋ค. ๊ทผ๋ฐ ์ด ํ์ด๋ ์ฌ๋ผ์ด์ฑ์ด O(n)์ ๋ณต์ก๋๋ผ ์ต์ ํ ์งํํด๋ดค์ต๋๋ค. 31ba2f4
There was a problem hiding this comment.
sys.maxsize๋ก ์ต๋๊ฐ์ ์ค์ ํ ์ ์๊ตฐ์!
๋ง์ด ๋ฐฐ์๊ฐ๋๋ค.
|
@alphaorderly ์ฌ๋ผ์ด์ฑ ๊ตฌํ์ฒด ์ง์ ์ : _BINARY_SLICE (https://github.com/python/cpython/blob/3.14/Python/bytecodes.c#L847-L863) |
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming
- ์ค๋ช : ๊ธ์ก๋ณ ์ต์ ๋์ ๊ฐ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด ๊ฐ ๊ธ์ก์ ๋ํด ์ต์ ๋น์ฉ์ ํ๋จํ๋ DP ๋ฐฉ์์ผ๋ก ๊ตฌํ๋์ด ์์ต๋๋ค. ๋ถ๋ถ ๋ฌธ์ ์ ํด๋ฅผ ์ด์ฉํด ์ ์ฒด ๋ฌธ์ ์ ํด๋ฅผ ๊ตฌ์ฑํ๋ ์ ํ์ ์ธ DP ํจํด์ ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(amount * len(coins)) |
| Space | O(amount) |
ํผ๋๋ฐฑ: ์ด๊ธฐ dp ๋ฐฐ์ด์ 1/0์ผ๋ก ๊ตฌ์ฑํ๋ ์ ๊ทผ์ ๊ฐ ๊ธ์ก์ ๋๋ฌ ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค. ๋ค๋ง ์ด๊ธฐํ ๋ฐ ์ ๋ฐ์ดํธ ๋ก์ง์ด ์๋ชป๋ ๊ฒฝ์ฐ ์ผ๋ถ ๊ฒฝ์ฐ์์ -1 ์ฒ๋ฆฌ์ ๊ฒฝ๊ณ ์กฐ๊ฑด์ด ๋๋ฝ๋ ์ ์๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search
- ์ค๋ช : ์ ๋ ฌ๋ ๋ฐฐ์ด์ด ํ์ ๋์์ ๋ ์ต์ ์์๋ฅผ ์ด์ง ํ์์ผ๋ก ์ฐพ๋ ๋ฐฉ์์ผ๋ก, ๊ตฌ๊ฐ์ ์ ๋ฐ์ผ๋ก ์ค์ด๋ฉฐ ์กฐ๊ฑด์ ๋ฐ๋ผ lo/hi๋ฅผ ์กฐ์ ํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(log n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ์ ์ ํ ์ด๋ถํ์ ๋ก์ง์ผ๋ก ํ์ ํฌ์ธํธ๋ฅผ ์ฐพ๊ณ ์๋ค. ๋ฃจํ ๋ด์์ ์ต์๊ฐ ๋น๊ต ์กฐ๊ฑด์ด ๋ช ํํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: DFS
- ์ค๋ช : ๋ฆฌํ๊น์ง ํธ๋ฆฌ๋ฅผ ๊น์ด ์ฐ์ ํ์ํ์ฌ ๊ฐ ๊ฐ์ง์ ๊น์ด๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๊ตฌํ๊ณ ์ต๋ ๊น์ด๋ฅผ ๋ฐํํ๋ฏ๋ก DFS ํจํด์ ํด๋นํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(h) |
ํผ๋๋ฐฑ: ํธ๋ฆฌ์ ๋ชจ๋ ๋ ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋ฉฐ ๊ฐ ์ฌ๊ท ํธ์ถ์ด ๊น์ด๋ฅผ ์ฆ๊ฐ์ํค๋ ์ ํ์ ์ธ DFS ๋ฐฉ์์ด๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Linked List
- ์ค๋ช : ๋ ๊ฐ์ ์ ๋ ฌ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ํ ๋ฆฌ์คํธ๋ก ๋ณํฉํ๋ ๊ณผ์ ์์ ํฌ์ธํฐ ๋ ๊ฐ๋ก ์ํํ๋ฉฐ ๊ฐ์ ๋น๊ตํ์ฌ ์์๋ฅผ ๋ง์ถ๋ ํจํด์ด๋ค. ๋จ์ ๋ถ๋ถ์ ํ๊บผ๋ฒ์ ๋ถ์ด๋ ๋ฐฉ์์ด ํน์ง์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n + m) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๋ณํฉ ๊ณผ์ ์ด ๋ฃจํ๋ฅผ ํตํด ์ ํ์ ์ผ๋ก ์งํ๋๋ฉฐ ์์ ์ ์ผ๋ก ๋์ํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Backtracking, Depth-First Search, Hash Map / Hash Set
- ์ค๋ช : ๋จ์ด ํ์ ๋ฌธ์ ์์ DFS๋ก ๊ฒฉ์๋ฅผ ํ์ํ๋ฉฐ ๊ฐ ์์น์์ ๋ค์ ๊ธ์๋ฅผ ํ์ธํ๊ณ , ๋ฐฉ๋ฌธ ํ์๋ฅผ ํตํด ๋ฐฑํธ๋ํนํ๋ ๋ฐฉ์์ด ํต์ฌ์ด๋ค. ๋ํ ๊ธ์ ๋น๋ ์ฒดํฌ๋ฅผ ์ํ ํด์ ๋งต ์ฌ์ฉ๋ ํฌํจ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(N * 4^L) |
| Space | O(L) |
ํผ๋๋ฐฑ: ์ฌ์ ๊ฒ์ฌ๋ก ๋ฌธ์ ๋น๋์ ๋ฐฉํฅ ํ์์ ์ต์ ํํ๋ ค๊ณ ์๋ํ๋ค. ๋ฐฑํธ๋ํน ์ ์ค๋ณต ๋ฐฉ๋ฌธ ์ ์ด๊ฐ ํต์ฌ์ด๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
๋ฆฌ๋ทฐ ๊ฐ์ฌํฉ๋๋ค. ๋ํ๋ ๋ฆฌ๋ทฐ ๋จ๊ฒจ์ฃผ์ ์ดํ์ ๋ช๊ฐ์ง ์ต์ ํํ์ฌ์ ์ปค๋ฉํธ ๋จ๊ฒจ๋์์ต๋๋ค |


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