Conversation
obzva
left a comment
There was a problem hiding this comment.
์๊ณ ํ์
จ์ต๋๋ค Egon๋!! 15์ฃผ๊ฐ ๊ธ๋ฐฉ ์ง๋๊ฐ๋ค์, ์์ผ๋ก๋ ์ฐ์ด ๋ฟ๋๋ค๋ฉด ๊ฐ์ด ๊ณต๋ถํ ๊ธฐํ๊ฐ ์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค ใ
ใ
ใ
๋ช๊ฐ์ง ์ง๋ฌธ์ฌํญ ๋จ๊ฒจ๋์์ต๋๋ค
| Time Complexity: O(n ^ 3) | ||
| - s์ ๊ธธ์ด๋ฅผ n์ด๋ผ ํ๋ฉด, s์ ๊ธธ์ด - 1 ๋งํผ ์กฐํํ๋๋ฐ O(n - 1) | ||
| - ๊ฐ ๋ฌธ์๋ง๋ค sliding_window๋ฅผ 2ํ ํธ์ถํ๋๋ฐ, ๊ฐ ํธ์ถ๋ง๋ค ์ต๋ s์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ฏ๋ก, * 2 * O(n), upper bound | ||
| - ๋ฐ๋ณต ํ s๋ฅผ slicingํ๋๋ฐ ์ต๋ * O(n), upper bound |
There was a problem hiding this comment.
์ ๋ ์ด ๋ถ๋ถ์ ์๊ฐ๋ณต์ก๋๊ฐ ์ข ์๊น๊ฒ ๋๊ปด์ก์ต๋๋ค
str slicing์ด ๊ฝค ๋ฌด๊ฑฐ์ด ์ฐ์ฐ์ธ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ, ์์๊ณผ ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก sliding_windowํจ์๋ฅผ ์์ ํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ 3์ฐจ์์์ 2์ฐจ์๊น์ง ๋ฎ์ถ ์ ์์ ๊ฒ ๊ฐ์์ :)
There was a problem hiding this comment.
์ ๋ ์ด ๋ถ๋ถ์ ์๊ฐ๋ณต์ก๋๊ฐ ์ข ์๊น๊ฒ ๋๊ปด์ก์ต๋๋ค str slicing์ด ๊ฝค ๋ฌด๊ฑฐ์ด ์ฐ์ฐ์ธ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ, ์์๊ณผ ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก sliding_windowํจ์๋ฅผ ์์ ํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ 3์ฐจ์์์ 2์ฐจ์๊น์ง ๋ฎ์ถ ์ ์์ ๊ฒ ๊ฐ์์ :)
์ด์ ์ ์ด ๋ฌธ์ ๋ฅผ ํ์๋ ์ ์ด ์์ด์ ๊ธฐ์กด ๋ชจ๋ฒ ๋ต์์ ๊ทธ๋๋ก ์ ์ถํ๋๋ฐ, ์คํ ํ๊ฒฝ์ ๋ฐ๋ฅธ GC ํธ์ถ ์ฐจ์ด ๋๋ฌธ์ธ์ง ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ์ ๋ฏธ๋ฆฌํด์ ๋ฆฌํดํ๋ฉด ํจ์ฌ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ข๋๋ผ๊ณ ์. ์๊ฐ๋ณต์ก๋๋ ํฌ ํฌ์ธํฐ๋ก ํ๋ฉด ๋์์ง๋๊ฑด ๋ง๊ธดํ๋ฐ, ์ ์ด์ ํฐ๋ฆฐ๋๋กฌ ๋ฌธ์ ์์ฒด์ ์ ์ฝ์ฌํญ์ด 1000์ ์๋์ฌ์ ๋ณ ์ฐจ์ด๊ฐ ์๋ ๊ฑธ ์๊ณ ์๊ธด ํ์ต๋๋ค.
There was a problem hiding this comment.
@obzva manacher ์๊ณ ๋ฆฌ์ฆ๋ ์ด๋ฒ์ ์๊ฒ๋์ด์ ์ถ๊ฐํด๋ดค๋๋ฐ ํ ๋ฒ ๋ณด์๋ฉด ๋์๋์ค ๊ฒ ๊ฐ์ ๋จ๊น๋๋ค :)
There was a problem hiding this comment.
๊ทธ๋ ๊ตฐ์ ใ ใ ใ ๊ทธ๋ฐ ์ด์ ๋ผ๋ฉด ์๊ณค๋ ๋ณธ๋์ ํ์ด๊ฐ ๋ ํฉ๋ฆฌ์ ์ธ ์ ํ ๊ฐ์ต๋๋ค
| Time Complexity: O(n ^ 3) | ||
| - s์ ๊ธธ์ด๋ฅผ n์ด๋ผ ํ๋ฉด, s์ ๊ธธ์ด - 1 ๋งํผ ์กฐํํ๋๋ฐ O(n - 1) | ||
| - ๊ฐ ๋ฌธ์๋ง๋ค sliding_window๋ฅผ 2ํ ํธ์ถํ๋๋ฐ, ๊ฐ ํธ์ถ๋ง๋ค ์ต๋ s์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ฏ๋ก, * 2 * O(n), upper bound | ||
| - ๋ฐ๋ณต ํ s๋ฅผ slicingํ๋๋ฐ ์ต๋ * O(n), upper bound |
There was a problem hiding this comment.
์ ๋ ์ด ๋ถ๋ถ์ ์๊ฐ๋ณต์ก๋๊ฐ ์ข ์๊น๊ฒ ๋๊ปด์ก์ต๋๋ค
str slicing์ด ๊ฝค ๋ฌด๊ฑฐ์ด ์ฐ์ฐ์ธ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ, ์์๊ณผ ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก sliding_windowํจ์๋ฅผ ์์ ํ๋ฉด ์๊ฐ๋ณต์ก๋๋ฅผ 3์ฐจ์์์ 2์ฐจ์๊น์ง ๋ฎ์ถ ์ ์์ ๊ฒ ๊ฐ์์ :)
There was a problem hiding this comment.
๊ทธ๋ผ ๊ณต๊ฐ๋ณต์ก๋๋ O(1)์ผ๋ก ์์ฐ์ค๋ ๊ฐ์ ๋ ๊ฒ ๊ฐ์์
|
|
||
| """ | ||
| Runtime: 0 ms (Beats 100.00%) | ||
| Time Complexity: O(n ^ 2) |
There was a problem hiding this comment.
๊ธฐ๋งํ ํ์ด๋ค์ ใ ใ ใ ์ ๋ฐฐ์ ์ต๋๋ค!!
subtree-of-another-tree/EGON.py
Outdated
| Space Complexity: O(max(n, m)) | ||
| - stack์ ์ต๋ ํฌ๊ธฐ๋ root ํธ๋ฆฌ๊ฐ ํธํฅ๋ ๊ฒฝ์ฐ์ด๋ฉฐ, ์ด๋ root ํธ๋ฆฌ์ ๋ ธ๋์ ์ด ๊ฐฏ์์ ๊ฐ์ผ๋ฏ๋ก O(n), upper bound | ||
| - is_same_tree ํจ์์ ์ฌ๊ท ์คํ์ ์ต๋ ๊น์ด๋ subRoot ํธ๋ฆฌ๊ฐ ํธํฅ๋ ๊ฒฝ์ฐ์ด๋ฉฐ, ์ด๋ subRoot ํธ๋ฆฌ์ ๋ ธ๋์ ์ด ๊ฐฏ์์ ๊ฐ์ผ๋ฏ๋ก O(m), upper bound | ||
| > O(n) + O(m) ~= O(max(n, m)) |
There was a problem hiding this comment.
์ ๊ฐ ์ข๋ณ๊น์ง๋ ์ดํดํ๋๋ฐ ์ฐ๋ณ์ผ๋ก ์ด์ด์ง๋ ๋
ผ๋ฆฌ๋ ์ดํดํ์ง ๋ชปํ์ต๋๋ค @lymchgmk ๋ ใ
ํน์ O(N + M) ~= O(max(N, M)) ์ด ๋๋ ์ด์ ์ ๋ํด ์ค๋ช
๋ถํ๋๋ ค๋ ๋ ๊น์?
์ ์๊ฐ์, ์คํ์ ๊ณต๊ฐ๋ณต์ก๋์ is_same_tree์ ๊ณต๊ฐ๋ณต์ก๋๋ ๋
๋ฆฝ์ ์ธ ๊ฒ ๊ฐ์์ O(N + M)์ด๋ผ๊ณ ๋ด์ผ ํ ๊ฒ ๊ฐ์์์ ๐ตโ๐ซ
There was a problem hiding this comment.
์ ๊ฐ ์ข๋ณ๊น์ง๋ ์ดํดํ๋๋ฐ ์ฐ๋ณ์ผ๋ก ์ด์ด์ง๋ ๋ ผ๋ฆฌ๋ ์ดํดํ์ง ๋ชปํ์ต๋๋ค @lymchgmk ๋ ใ ํน์ O(N + M) ~= O(max(N, M)) ์ด ๋๋ ์ด์ ์ ๋ํด ์ค๋ช ๋ถํ๋๋ ค๋ ๋ ๊น์? ์ ์๊ฐ์, ์คํ์ ๊ณต๊ฐ๋ณต์ก๋์ is_same_tree์ ๊ณต๊ฐ๋ณต์ก๋๋ ๋ ๋ฆฝ์ ์ธ ๊ฒ ๊ฐ์์ O(N + M)์ด๋ผ๊ณ ๋ด์ผ ํ ๊ฒ ๊ฐ์์์ ๐ตโ๐ซ
๋ง์ํ์ ๊ฒ ์ฒ๋ผ ๋์ด ๋ ๋ฆฝ์ธ๊ฒ ๋ง์ต๋๋ค. O(n + m)์ผ๋ก ์์ ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๋ต์ ์ ์ถ ๋ฌธ์
์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.