[dolphinflow86] WEEK 02 Solutions#2677
Conversation
๐ dolphinflow86 ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Hash Map / Hash Set, Greedy
- ์ค๋ช : 3SUM ์ฝ๋๋ ๋จผ์ ํน์ ์์๋ฅผ ๊ณ ์ ํ๊ณ ๋๋จธ์ง๋ฅผ ํด์๋งต์ผ๋ก ํ์ํ์ฌ ํฉ์ด 0์ด ๋๋๋ก ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋๋ฉฐ, ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด ์งํฉ์ ์ฌ์ฉํ๋ค. ๊ณ ์ ๋ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ตฌ์กฐ๊ฐ Two Pointers์ ๋ณํ์ผ๋ก ํด์๋ฅผ ํ์ฉํ๋ ํจํด์ ํด๋นํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.threeSum โ Time: โ
O(N^2) โ O(n^2) / Space: โ
O(N) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N^2) | O(n^2) | โ |
| Space | O(N) | O(n) | โ |
ํผ๋๋ฐฑ: ๋ฐฐ์ด ์ ๋ ฌ ํ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด ์งํฉ์ ์ฌ์ฉํ๊ณ , ๊ฐ i์ ๋ํด ํด์๋งต์ผ๋ก ๋๋จธ์ง ๋ ์์ ํฉ์ ์ฐพ์ต๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.threeSum_alt โ Time: โ
O(N^2) โ O(n^2) / Space: โ
O(N) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N^2) | O(n^2) | โ |
| Space | O(N) | O(n) | โ |
ํผ๋๋ฐฑ: ์ ์๋ ๊ตฌํ์ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด ์งํฉ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
์ค ์ด๋ฌ๋ฉด ์ผ์ชฝ ํฌ์ธํฐ๋ฅผ ํ๋ ๋๊ณ
์ค๋ฅธ์ชฝ ๋ถ๋ถ๋ง ๋ถ๋ถ๋ฌธ์ ์ฒ๋ผ Two sum ๋ฌธ์ ๋ก ํธ์ ๊ฑฐ๋ฆฌ๊ณ ๋ณด๋ฉด ๋ ๊น์?
์ด๋ฐ ๋ฐฉ๋ฒ๋ ์๋ค๋ ๋๋ฌด ์ ๊ธฐํ๋ค์! ๊ณ ์ํ์
จ์ต๋๋ค!
There was a problem hiding this comment.
@alphaorderly ๋ฆฌ๋ทฐํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๋ค ํด๋น ๋ฐฉ์์ด ๋ง์์.
ํ์ง๋ง ๊ตฌํํด๋๊ณ ๋ณด๋ ํฌํฌ์ธํฐ ๋ฐฉ์์ด ์ข ๋ ๊น๋ํ ๊ฒ ๊ฐ๊ธด ํ๋๋ผ๊ตฌ์ :)
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming, Hash Map / Hash Set, Divide and Conquer
- ์ค๋ช : ๊น์ด ์ฐ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํตํด ์ค๋ณต ๊ณ์ฐ์ ํผํ๊ณ , ๋ถ๋ถ ๋ฌธ์ ์ ํด๋ฅผ ์ ์ฅํ์ฌ ์ ์ฒด๋ฅผ ํด๊ฒฐํ๋ค. ํด๋ฅผ ์ ์ฅํ๋ ๋ฐ ํด์ ๋งต์ ์ฌ์ฉํ๋ฉฐ, ์ฌ๊ท์ ์ผ๋ก ์์ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ด ํ์ดํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.climbStairs โ Time: O(n) / Space: O(n)
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ์ค๋ณต ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ์ ์ฅํด ์ฌ๊ท ํธ์ถ์ ์ค๋ณต์ ์ ๊ฑฐํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.climb_rec โ Time: โ
O(N) โ O(n) / Space: โ
O(N) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N) | O(n) | โ |
| Space | O(N) | O(n) | โ |
ํผ๋๋ฐฑ: ๋ฉ๋ชจ์ด์ ์ด์ ์ผ๋ก ์ค๋ณต ๊ณ์ฐ์ ํผํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Two Pointers, Dynamic Programming, Hash Map / Hash Set
- ์ค๋ช : ์ผ์ชฝ-์ค๋ฅธ์ชฝ ๋์ ๊ณฑ์ ์ด์ฉํด ๊ฐ ์์์ ๊ณฑ์ ๊ตฌํ๋ ํจํด์ผ๋ก, ์ถ๊ฐ ์ ์ฅ ๋ฐฐ์ด๊ณผ ๋์ ๊ณฑ์ ์ด์ฉํ ์ ํ์๊ฐ ํด๊ฒฐ(๋ถํ ๊ณ์ฐ). ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๋์ ๊ฐ ์ฌ์ฌ์ฉ ํน์ฑ๊ณผ ํจ์จ์ ๊ณต๊ฐ ์ด์ฉ์ด ํต์ฌ์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N) | O(n) | โ |
| Space | O(N) | O(1) | โ |
ํผ๋๋ฐฑ: ์ฒซ ์ํ๋ก ์ผ์ชฝ ๊ณฑ, ๋ ๋ฒ์งธ ์ํ๋ก ์ค๋ฅธ์ชฝ ๊ณฑ์ ๊ฒฐํฉํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set, Two Pointers
- ์ค๋ช : ํด์ ๋งต์ผ๋ก ๋ฌธ์ ๋น๋๋ฅผ ๋น๊ตํ๋ ๋ ๋ฒ์งธ ํ์ด์ ์ ๋ ฌ ์์ด ์นด์ดํธ ๋น๊ต๋ฅผ ์ฌ์ฉํ ๋ฐฉ์์ ํด์ ๋งต ํจํด์ ํด๋นํฉ๋๋ค. ๋ํ ๋ฌธ์์ด ๊ธธ์ด ๋น๊ต๋ก ๋น ๋ฅธ ์ข ๋ฃ๋ฅผ ํ์ฉํ๋ ๋ถ๋ถ์ด ๊ฐ์ ์ ์ผ๋ก ํฌ ํฌ์ธํฐ์ ์์ด๋์ด์ ์ฐ๊ณ๋ ์ ์์ต๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
โน๏ธ ์ด ํ์ผ์๋ 2๊ฐ์ง ํ์ด๊ฐ ํฌํจ๋์ด ์์ด ๊ฐ๊ฐ ๋ถ์ํฉ๋๋ค.
ํ์ด 1: Solution.isAnagram_sort โ Time: โ
O(NlogN) โ O(n log n) / Space: โ
O(N) โ O(n)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(NlogN) | O(n log n) | โ |
| Space | O(N) | O(n) | โ |
ํผ๋๋ฐฑ: ์ ๋ ฌ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ๊ตฌํ์ด ๊ฐ๋จํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
ํ์ด 2: Solution.isAnagram_count โ Time: โ O(N + M) โ O(n) / Space: โ O(N + M) โ O(k)
| ์ ์ ๋ถ์ | ์ค์ ๋ถ์ | ๊ฒฐ๊ณผ | |
|---|---|---|---|
| Time | O(N + M) | O(n) | โ |
| Space | O(N + M) | O(k) | โ |
ํผ๋๋ฐฑ: ์ถ๊ฐ ๊ณต๊ฐ์ผ๋ก ์นด์ดํธ ๋งต์ ์ฌ์ฉํด ์ ํ ์๊ฐ์ผ๋ก ํ๋ณํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
| # 1) Sort input strings and check if those are the same. | ||
| # TC: O(NlogN) where N is the size of string s and t due to sorting | ||
| # SC: O(N) where N is the length of string s and t to store sorted list. | ||
| class Solution: |
There was a problem hiding this comment.
์๋ ํ์ธ์! ์ด๋ฒ์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋งก๊ฒ ๋ ์ด์ ์ ์ ๋๋ค. ์๋ถํ๋๋ฆฝ๋๋ค.
solve ์ฝ๋ ๋๋ฌด ๊น๋ํ๊ฒ ์ ์์ฑํ์ จ๋ค์!!
์๊ฐ๋ณต์ก๋๋ฅผ ๋ ๋ฎ์ถฐ์ผํ๋ค๋ ์ ์ฝ์กฐ๊ฑด์ด ์๋ค๋ฉด, ์ ๋ ฌ์ด ์๋ ์ด๋ค ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ํ์ด ์ ๊ทผํ์ค ์ง ๊ถ๊ธํฉ๋๋ค!
There was a problem hiding this comment.
@JeonJe ์๋ ํ์ธ์ ์ ์ ๋ :) ์ ๋ ์ ๋ถํ๋๋ฆฝ๋๋ค.
์ด ๋ฌธ์ ๋ ์๊ฐ๋ณต์ก๋๋ฅผ ๋ ๋ฎ์ถ๋ค๋ฉด ์๋์ 2๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก ํผ ํด์๋งต ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ์ฌ ํ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค๋ง 2๋ฒ ์๋ฃจ์ ์์๋ s์ t๊ฐ ์๋ฌธ ์๋ฌธ์ ์ ํ์ด ์์ด์ ํด์๋งต ๋์ ์ 26ํฌ๊ธฐ์ ๊ณ ์ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํด์ ํธ๋ ๊ฒ์ผ๋ก ์กฐ๊ธ
๋ ์ต์ ํ๋ฅผ ํ ์ ์์ ๊ฒ ๊ฐ์์.
| # 1) Recursion with memoization. | ||
| # TC: O(N) where N is the given natural number. | ||
| # SC: O(N) where N is the given natural number. | ||
| class Solution: |
There was a problem hiding this comment.
๋ฐํ ์ + ๋ฉ๋ชจ๋ผ์ด์ ์ด์ ์ ์ฌ์ฉํ์ จ๋ค์!
๊ฐ ์ ์ง ์ผ์ด์ค์ ๋ํด์ ์ด๋ฏธ ๊ณ์ฐ๋์ด์์ผ๋ฉด ํด๋น ๊ฐ์ ์ฌ์ฉํ๊ณ , ์๋๋ผ๋ฉด ๊ณ์ฐํด์ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ์ดํดํ์์ต๋๋ค.
์ ๋ ํ๋ค์ด + ๋ฉ๋ชจ๋ผ์ด์ ์ด์
์ผ๋ก ๋ฌธ์ ๋ฅผ ์ ๊ทผํ๋๋ฐ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์๊ฐ์ ํด๋ณผ ์ ์๊ฒ ๋ค์ ใ
ใ
์ด ๋ฌธ์ ๋ฅผ ํธ์ค ๋ ์ด๋ค ์์ผ๋ก ์ ๊ทผํด์ผ๊ฒ ๋ค ์๊ฐํ์
จ๋์ง ๊ถ๊ธํฉ๋๋ค!
There was a problem hiding this comment.
@JeonJe ์ด ๋ฌธ์ ๋ ๊ฐ ์คํญ๋ง๋ค ํํ ์ ์๋ ํ๋์ด 1์นธ ์๋๋ฉด 2์นธ์ ์ ํ๋ผ๊ณ ์๊ฐํ๊ณ ํผ๋ณด๋์น๋ house robber ๋ฌธ์ ์์ ํ์๋ ํ์ด๋ฅผ ์ ์ฉํด๋ณผ ์ ์๊ฒ ๋ค๋ผ๋ ์๊ฐ์ด ๋ค์ด์ ์ฌ๊ท๋ก ์ ๊ทผํ์ต๋๋ค. ์คํ ํ๋ฆ์ 1์ธต๋ถํฐ n์ธต๊น์ง ์ฌ๊ท์ ์ผ๋ก ์ฌ๋ผ๊ฐ๋, n์ธต์์ ๋ฒ ์ด์ค์ผ์ด์ค์ ๊ฑธ๋ ค ๋ด๋ ค์ค๋ฉด์ memo๋ฅผ ์ฑ์ฐ๋์์ผ๋ก ๊ตฌํํ์๊ณ , ์ ๋ ํท๊ฐ๋ ค์ ๊ฒฐ์ ํธ๋ฆฌ ๊ทธ๋ ค๋ณด๋ฉด์ ๋ค์ ๋ฆฌ๋ง์ธ๋ ํ๋ค์ :)
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!