[ICE0208] WEEK 03 solutions#2712
Conversation
๐ ICE0208 ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Backtracking
- ์ค๋ช : ์ฌ๊ท์ ์ผ๋ก ํ๋ณด๋ฅผ ์๋ํ๊ณ , ๊ฐ๋ฅํ ์กฐํฉ์ ํ์ํ๋ฉฐ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ํด๋ฅผ ์ ์ฅํ๊ณ ๋๋์์ค๋ ๋ฐฑํธ๋ํน ๋ฐฉ์์ด ํต์ฌ ํจํด์ด๋ค. ๊ฐ์ ์ซ์๋ฅผ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ์์ ์ธ๋ฑ์ค๋ฅผ i๋ก ๋๊ณ ๊ฐ์ง์น๊ธฐ ์กฐ๊ฑด์ผ๋ก ๋จ์ ํฉ์ ํ์ธํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(N^D) |
| Space | O(D) |
ํผ๋๋ฐฑ: ๋ฐฑํธ๋ํน์ผ๋ก ์ค๋ณต ์์ด ๊ฐ ํ๋ณด๋ฅผ ์์ ์ธ๋ฑ์ค๋ถํฐ ํ์ํ๊ณ , ๋์ผ ์์ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ์ธ๋ฑ์ค๋ฅผ ๊ณ์ ์ ์งํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming, Memoization
- ์ค๋ช : ๋ ๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ์ฌ๊ท๋ก ํ์ํ๊ณ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ memo ๋ฐฐ์ด์ ์ ์ฅํ์ฌ ์ค๋ณต ๊ณ์ฐ์ ๋ฐฉ์งํ๋ ์ ํ์ ์ธ DP + Memoization ํจํด์ผ๋ก ๋ถํ ๊ฐ๋ฅ ๊ฒฝ์ฐ๋ฅผ ๋ค๋ฃน๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: dfs์ memo๋ฅผ ํ์ฉํด ์ค๋ณต ๊ณ์ฐ์ ์ ๊ฑฐํ๊ณ , 0์ผ๋ก ์์ํ๋ ๊ฒฝ์ฐ๋ฅผ ์์ธ ์ฒ๋ฆฌํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Divide and Conquer
- ์ค๋ช : ๋ฐฐ์ด์ ์ ๋ฐ์ผ๋ก ๋๋ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ๊ฐ์ด๋ฐ๋ฅผ ๊ณ ๋ คํ๋ ๋ถํ ์ ๋ณต ํจํด์ผ๋ก ์ต๋ ๋ถ๋ถ ๋ฐฐ์ด์ ์ฌ๊ท์ ์ผ๋ก ๊ณ์ฐํฉ๋๋ค. ๊ฐ ๋ถ๋ถ ๋ฌธ์ ์ ํด๋ฅผ ํฉ์ณ ์ต์ข ํด๋ฅผ ๊ตฌํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n log n) |
| Space | O(log n) |
ํผ๋๋ฐฑ: ๋ถํ ์ ๋ณต ๊ตฌ์กฐ์์ ๊ต์ฐจ ๊ตฌ๊ฐ์ ๊ณ์ฐํ๊ณ ์ ์ฒด ์ต๋๊ฐ์ ํฉ์ฐํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Bit Manipulation
- ์ค๋ช : ๋ ์ฝ๋ ๋ชจ๋ ์ด์ง์์ ํน์ ๋นํธ๋ฅผ ์ง์ ๋ค๋ฃจ๋ ๋นํธ ์ฐ์ฐ์ ํ์ฉํฉ๋๋ค. n๊ณผ 1์ ๋นํธ ์ฐ์ฐ์ ํตํด 1์ ๊ฐ์๋ฅผ ์ธ๋ ๊ณผ์ ์ผ๋ก ๋นํธ ์กฐ์ ํจํด์ ํด๋นํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(k) |
| Space | O(1) |
ํผ๋๋ฐฑ: n ์ n-1์ ๋นํธ๋ฅผ ์ ๊ฑฐํ๋ ๊ธฐ๋ฒ์ ์ด์ฉํด ๋นํธ ์๋งํผ ๋ฐ๋ณตํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Greedy
- ์ค๋ช : ์ข์ฐ ํฌ์ธํฐ๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ์ ๋์์๋ถํฐ ๋น๊ตํ๋ฉฐ ๋ถํ์ํ ๋ฌธ์ ๊ฑด๋๋ฐ๊ณ ๋์๋ฌธ์ ํต์ผ ํ ๋์นญ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค. ์ถ๊ฐ ๋ณด์กฐ ์๋ฃ๊ตฌ์กฐ ์์ด O(n) ์๊ฐ, O(1) ๊ณต๊ฐ์ผ๋ก ํด๊ฒฐ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ๊ณต๋ฐฑ์ด๋ ๊ตฌ๋์ ์ ๊ฑด๋๋ฐ๊ณ ๋ฌธ์ ๋น๊ต๋ฅผ ์ํํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
JeonJe
left a comment
There was a problem hiding this comment.
์๋ ํ์ธ์ ์ด๋ฒ์ฃผ์ฐจ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋งก๊ฒ ๋ ์ด์ ์ ์ ๋๋ค!
5๋ฌธ์ ๋ชจ๋ ๋ณต์ก๋ ์ฃผ์๊น์ง ๊ผผ๊ผผํ ์ ๋ฆฌํด์ฃผ์ ์ ์ฝ๊ธฐ ํธํ์ด์. ํนํ maximum-subarray ๋ถํ ์ ๋ณต ํ์ด๋ ์ ๋ ์ด๋ฒ์ ์ฒ์ ๋ด์ ์ ๋ฐฐ์๊ฐ๋๋ค. ๊ณ ์ํ์ จ์ต๋๋ค!
| */ | ||
| int left = 0; | ||
| int right = s.length() - 1; | ||
|
|
There was a problem hiding this comment.
ํํฐ๋ง๋ ๋ฌธ์์ด์ ์๋ก ๋ง๋ค์ง ์๊ณ ํฌ ํฌ์ธํฐ๋ก in-place ๋น๊ตํด์ ๊ณต๊ฐ O(1)๋ก ํ ์ ์์๊ตฐ์!
์์ชฝ while์ left < right ๊ฐ๋๋ฅผ ๋ฌ์ ํฌ์ธํฐ๊ฐ ๋ง๋๋(๊ต์ฐจ) ์ผ์ด์ค์์๋ ์์ ํ๊ฒ ์ฒ๋ฆฌ๋ ๊ฒ๋ ๊ผผ๊ผผํ๋ค์. ๋ณต์ก๋ ์ฃผ์๊น์ง ์ ํํ๊ฒ ๋ฌ๋ ค ์์ด์ ์ฝ๊ธฐ ํธํ์ต๋๋ค.
| return findMaxSum(nums, 0, nums.length - 1); | ||
| } | ||
|
|
||
| private int findMaxSum(int[] nums, int left, int right) { |
There was a problem hiding this comment.
๋ถํ ์ ๋ณต์ผ๋ก๋ ํ ์ ์๋ค๋ ๊ฑธ ์ฒ์ ์์๋ค์!!
์ ๊ฐ ์ดํดํ ์ด ํ์ด ๋ฐฉ์์
๋ฐฐ์ด์ ๊ฐ์ด๋ฐ๋ก ์๋ฅด๋ฉด ์ต๋ ๋ถ๋ถ๋ฐฐ์ด์ ์์ ํ ์ผ์ชฝ, ์์ ํ ์ค๋ฅธ์ชฝ, ๊ฐ์ด๋ฐ๋ฅผ ๊ฑธ์น๋ ๊ฒฝ์ฐ ์
์ค ํ๋์ด๋ค. ์์ ๋์ ์ฌ๊ท๋ก ๊ตฌํ๊ณ , ๊ฑธ์น๋ ๊ฒฝ์ฐ๋ mid์์ ์ข์ฐ๋ก ๋ป์ด๊ฐ๋ฉฐ ์ต๋ ๋์ ํฉ์ ๋ํด ๊ตฌํ ๋ค, ์ด ์
์ ์ต๋๊ฐ์ ๊ณ ๋ฅธ๋ค. ๋ก ์ดํดํ์์ต๋๋ค
์ด๋ ๊ฒ ๋ฏ์ ๋ฅผ "๋ถํด"ํ๋ ์ฌ๊ณ ํ์ ๋ค๋ฅธ ๋ฌธ์ ์๋ ์์ฉํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๐๐๐
There was a problem hiding this comment.
์ ๋ ์ด๋ฒ์ ์ฒ์์ผ๋ก ๋ถํ ์ ๋ณต ๋ฐฉ์์ผ๋ก ํ์ด๋ด์ ์ค๋ฅ๋ ๋ง์ด ๋๊ณ , ์ดํดํ๋ ๋ฐ ์๊ฐ๋ ๊ฝค ๊ฑธ๋ ธ์ต๋๋คใ
ใ
๐คฃ
๊ทธ๋๋ ์ง์ ๊ตฌํํด๋ณด๋ฉด์ ๋ง์ด ๋ฐฐ์ธ ์ ์์๋ ๋ฌธ์ ์๋ ๊ฒ ๊ฐ์์.
๊ผผ๊ผผํ๊ฒ ๋ฆฌ๋ทฐํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! ์ด๋ฒ ์ฃผ๋ ๊ณ ์ ๋ง์ผ์
จ์ต๋๋ค ๐
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!