[essaysir] WEEK 05 Solutions#2766
Conversation
|
๐ essaysir ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Greedy, Two Pointers
- ์ค๋ช : ๋ก์ง์ด ํ ๋ฒ์ ์ํ๋ก ์ต์ ์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ Greedy ํจํด์ด๋ฉฐ, ์ต์์ ๊ฐ๊ฒฉ ์ธ๋ฑ์ค(์๋ถ๋ถ ํฌ์ธํฐ)์ ํ์ฌ ๊ฐ๊ฒฉ๊ณผ์ ์ฐจ์ด๋ฅผ ๋น๊ตํ๋ Two Pointers ํ๋ฆ์ด ๊ฐ์ด ์ ์ฉ๋ฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: ํ ๋ฒ์ ์ํ๋ก ์ต์ ์ ๋งค๋ ์์ ์ ์ฐพ๊ธฐ ์ํด ์ต์๊ฐ ์ธ๋ฑ์ค๋ฅผ ์ถ์ ํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set, Greedy, Divide and Conquer, Dynamic Programming, Two Pointers, Sliding Window, Fast & Slow Pointers, BFS, DFS, Backtracking, Union Find, Trie, Bit Manipulation, Monotonic Stack, Heap / Priority Queue, Binary Search
- ์ค๋ช : ๋ฌธ์์ด ์ธ์ฝ๋ฉ ๊ธธ์ด(prefix length)์ ๊ตฌ๋ถ์('#')๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ์์ฐจ์ ์ผ๋ก ํ์ฑํ๋ ๋ฐฉ์์ผ๋ก, ๋ฌธ์์ด์ ๊ตฌ์ฑ ์์๋ฅผ ์ํํ๋ฉฐ ๊ตฌ๋ถ์ ์ด์ฉํด ๋ถ๋ถ ๋ฌธ์์ด์ ๋ถ๋ฆฌํ๋ค. ํน์ ๋ฐ์ดํฐ ๋จ์๋ฅผ ๋ถ๋ฆฌํ๊ณ ์ฌ๊ตฌ์ฑํ๋ ํจํด์ ํด๋นํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(sum of lengths) |
| Space | O(sum of lengths) |
ํผ๋๋ฐฑ: ์ ํํ ๊ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋จผ์ ๊ธฐ๋กํ๊ณ ๋ฌธ์์ด ์์ฒด๋ฅผ ์ด์ด๋ถ์ด๋ ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set, Divide and Conquer
- ์ค๋ช : ๋ฌธ์ ๋ฌธ์์ด์ ์ ๋ ฌํ ํค๋ก ๊ทธ๋ฃนํํ์ฌ ๊ฐ์ ์๋๊ทธ๋จ๋ค์ ๋ฌถ๋ ๋ฐฉ์์ผ๋ก ํด์๋งต์ ๋ถ๋ฅํ๋ ํจํด. ๊ฐ ํค๋ก ๊ทธ๋ฃน์ ๊ตฌ์ฑํ๊ณ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ผ๋ ํ๋ฆ์ด ํน์ง์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n * k log k) |
| Space | O(n * k) |
ํผ๋๋ฐฑ: ๊ฐ ๋ฌธ์์ด ๊ธธ์ด์ ๋ฐ๋ผ ์ ๋ ฌ ๋น์ฉ์ด ์ง๋ฐฐ์ ์ด๋ฉฐ, ๊ทธ๋ฃนํ์ ํด์๋งต์ ์ฌ์ฉํฉ๋๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
| List<List<String>> answer = new ArrayList<>(); | ||
| Map<String, List<String>> map = new HashMap<>(); | ||
|
|
||
| for ( int i = 0; i < strs.length; i ++) { |
There was a problem hiding this comment.
๋ฃจํ ์์์ i ์์ฒด๋ฅผ ์ฐ์ง ์๊ณ strs[i]๋ก ๊ฐ๋ง ์ฐธ์กฐํ ๋ ๊ฐ๋ ์ฑ์ ํฅ์์ํค๊ธฐ ์ํด์ enhanced for-loop์ ์จ๋ณด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค!
| * @param strs: a list of strings | ||
| * @return: encodes a list of strings to a single string. | ||
| */ | ||
| public String encode(List<String> strs) { |
There was a problem hiding this comment.
'#'์ด encode/decode ์์ชฝ์ ๋งค์ง ๋ฆฌํฐ๋ด๋ก ์ค๋ณต๋๊ธฐ ๋๋ฌธ์, private static final char DELIMITER = '#';๋ก ์ถ์ถํด์ ๋ ๋ฉ์๋์ ์ธ์ฝ๋ฉ ๊ณ์ฝ์ด ํ ๊ณณ์์ ๊ด๋ฆฌ๋๋ฉด ๋์ค์ ๊ตฌ๋ถ์ ๋ฐ๊ฟ ๋ ํ์ชฝ๋ง ์์ ํ๋ ์ค์๋ฅผ ์๋ฐฉํ ์ ์์ ๊ฒ ๊ฐ์์!
| class Solution { | ||
| public int maxProfit(int[] prices) { | ||
| int result = 0; | ||
| // prices = [7,1,5,3,6,4] |
There was a problem hiding this comment.
์ต์๊ฐ ๋์ ์ต์ ์ธ๋ฑ์ค๋ฅผ ๋ค๊ณ ๊ฐ๋ ์ ๊ทผ๋ ๊น๋ํ๋ค์.
์ธ๋ฑ์ค๋ก ์ก์ผ๋ฉด ๋์ค์ '๋ฉฐ์น ์ ์๋์ง'๊น์ง ํ์ฅํ ๋ ๋ฐ๋ก ์ธ ์ ์๋ ์ฌ์ง๊ฐ ์์ด ์ข๋ค์!
There was a problem hiding this comment.
์ข์ ์๊ฒฌ๋ค ๋๋ฌด ๊ฐ์ฌํฉ๋๋ค! ์์ผ๋ก, ์ฝ๋ฉ ํ ์คํธ ํ๋ฉด์ ์ ์ฉํด๋ณผ ์ ์๋๋ก ๋ ธ๋ ฅํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!