์ ์ฒด ๊ธ(162)
-
์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋ ์์ ์ ๋ณต ๐ — Big-O ํ๊ธฐ๋ฒ ์ฝ๊ฒ ์ดํดํ๊ธฐ
ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค ๋ณด๋ฉด ๊ผญ ๋ง๋๊ฒ ๋๋ ๊ฐ๋ ์ด ์์ต๋๋ค.๋ฐ๋ก ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋(Complexity of Algorithms) ์ ๋๋ค.์ฒ์ ๋ค์ผ๋ฉด “์ด๊ฒ ์ฝ๋ฉ์ ์ผ๋ง๋ ๋ณต์กํ๊ฒ ์งฐ๋์ง ๋งํ๋ ๊ฑด๊ฐ?” ํ๊ณ ์คํดํ๊ธฐ ์ฝ์ง๋ง, ์ฌ์ค ‘๋ณต์ก๋’๋ ์ฝ๋์ ๊ธธ์ด๋ ๋์ด๋๋ฅผ ๋ปํ์ง ์์ต๋๋ค.๊ทธ๋ ๋ค๋ฉด, ์๊ณ ๋ฆฌ์ฆ์ ๋ณต์ก๋๋ ๋ญ ์๋ฏธํ ๊น์?๐ ์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋๋?์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋๋ ๋ฌธ์ ์ ํฌ๊ธฐ(์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ์ ๊ฐ์ n)๊ฐ ์ปค์ง์๋ก๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ผ๋ง๋ ๋ง์ ์๊ฐ ๋๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ์ง๋ฅผ ๋ํ๋ด๋ ์ฒ๋์ ๋๋ค.์๊ฐ ๋ณต์ก๋(Time Complexity): ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ปค์ง ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ ์ฆ๊ฐ ํจํด๊ณต๊ฐ ๋ณต์ก๋(Space Complexity): ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ปค์ง ๋ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ ํจํด์ด ๊ธ์์๋ ์ฃผ๋ก ์๊ฐ ๋ณต์ก..
2025.08.08 -
๐ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ (Recursive Algorithm) - ์์ฉํธ
๐ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ, ์๊ฐ๋ณด๋ค ๊ฐ๋ ฅํ๋ค์ฌ๊ท๋ ๋จ์ํ sum(n) ๊ฐ์ ๊ฐ๋จํ ์์ ์๋ง ์ฐ์ด๋ ๊ฒ์ด ์๋๋๋ค.์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ์์ฃผ ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ค ์ค ์๋น์๊ฐ ์ฌ๊ท์ ์ฑ์ง์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ธ ์ฝ๋ ์์ฑ์ด ๊ฐ๋ฅํด์ง๋๋ค.๐ ๋ํ์ ์ธ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ ์์๋ค1๏ธโฃ ์กฐํฉ์ ์ ๊ตฌํ๊ธฐ๋ฌธ์ : ์๋ก ๋ค๋ฅธ n๊ฐ์ ์์ ์ค m๊ฐ๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ์ ์๋?์ํ์ ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ์ ํ์์ด ์์ต๋๋ค:C(n, m) = C(n - 1, m - 1) + C(n - 1, m)์ด๊ฑธ ์ฌ๊ท๋ก ํํํ๋ฉด?def comb(n, m): if m == 0 or n == m: return 1 return comb(n - 1, m - 1) + comb(n - 1, m)โ ๋งค์ฐ ๊ฐ๋จํ ์ฝ๋๋ก ์กฐํฉ ๊ณ..
2025.08.08 -
๐ฑ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ(Recursive Algorithm) ๊ธฐ์ด ์ ๋ฆฌ
๐ฑ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ(Recursive Algorithm) ๊ธฐ์ด ์ ๋ฆฌ๐ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ด๋?์ฌ๊ท(Recursive) ์๊ณ ๋ฆฌ์ฆ์ด๋, ๋ฌธ์ ๋ฅผ ๊ฐ์ ํํ์ ๋ ์์ ๋ฌธ์ ๋ก ๋๋์ด ํธ๋ ๋ฐฉ์์ ๋๋ค.์ฆ, ๋ฌธ์ ์ ํด๋ต์ ์๊ธฐ ์์ ์ ์ด์ฉํด์ ์ ์ ๋ ๊ฐ๋จํ ๋ฌธ์ ๋ก ๋ฐ๊ฟ๊ฐ๋ฉฐ ํด๊ฒฐํฉ๋๋ค.์๊ธฐ ์์ ์ ํธ์ถํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ "์ฌ๊ท"๋ผ๋ ์ด๋ฆ์ด ๋ถ์์ต๋๋ค.๐ง ์์๋ก ์ดํดํ๊ธฐ: 1๋ถํฐ n๊น์ง์ ํฉ๋ฌธ์ sum(n) = 1๋ถํฐ n๊น์ง ์์ฐ์์ ํฉ์ ๊ตฌํ๋ผ์ด๋ป๊ฒ ์๊ฐํ ๊น?์ด ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ๋๋ ์ ์์ต๋๋ค:sum(n) = sum(n-1) + n์ฆ, n๊น์ง์ ํฉ์ n-1๊น์ง์ ํฉ์ ๋จผ์ ๊ตฌํ๊ณ , ๊ฑฐ๊ธฐ์ n์ ๋ํ๋ฉด ๋๋ค๋ ๊ฑฐ์ฃ .๐ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํํํ๋ฉด?def sum(n): if n == 1: # ์ข ..
2025.08.07 -
๐ ์คํ๋ง ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ ์! ๊น์ํ๋์ ‘์คํ๋ง MVC 2ํธ’ ๊ฐ์ ์ถ์ฒํฉ๋๋ค.
์๋ ํ์ธ์, ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊ณต๋ถ ์ค์ธ ํ์ ๋ํ์ ๋๋ค ๐์ค๋์ ์ ๊ฐ ์ ๋ง ์ธ์ ๊น๊ฒ ๋ค์ ๊ฐ์ ํ๋๋ฅผ ์๊ฐ๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.๋ฐ๋ก ์ธํ๋ฐ์์ ๊น์ํ๋์ด ์งํํ๋ ‘์คํ๋ง MVC 2ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํ์ฉ ๊ธฐ์ ’ ๊ฐ์์ ๋๋ค.๐ก ์ค๋ฌด์์ ๊ผญ ํ์ํ ํ์๋ฆฌํ ์ฌ์ฉ๋ฒ๋ถํฐ ๋ก๊ทธ์ธ ์ฒ๋ฆฌ, ๊ฒ์ฆ, ์์ธ ์ฒ๋ฆฌ, ํ์ผ ์ ๋ก๋, ํ์ ์ปจ๋ฒํฐ๊น์ง!์ค๋ฌด ๊ฐ๋ฐ์ ์ง์ ์ ์ผ๋ก ์ฐ์ด๋ ํต์ฌ ๊ธฐ์ ๋ค์ ์ด ๊ฐ์ ํ๋๋ก ๋ชจ๋ ์ตํ ์ ์์ด์.๐ฌ ๊ฐ์๋ ์ด๋ฐ ๋ถ๊ป ์ถ์ฒ๋๋ ค์:์คํ๋ง MVC 1ํธ์ ์๊ฐํ๊ฑฐ๋ ๊ธฐ์ด๋ฅผ ํ์ตํ ๋ถ์ค๋ฌด์์ ์์ฃผ ์ฐ์ด๋ ์น ๊ธฐ์ ๋ค์ ์คํ๋ง๊ณผ ํจ๊ป ๋ง์คํฐํ๊ณ ์ถ์ ๋ถํ์ผ ์ ๋ก๋, ๋ก๊ทธ์ธ, ์์ธ์ฒ๋ฆฌ, ๊ฒ์ฆ ๋ฑ ๋ฐฑ์๋ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๋๋ก ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ๐ ๊ฐ์ ๊ตฌ์ฑ (์ด 13๊ฐ ์น์ / ์ฝ 25์๊ฐ ์ด์)์น์ ์ฃผ์..
2025.07.25 -
๐ Java์ protected๋ ์ ํ์ํ ๊น?
๐ Java์ protected๋ ์ ํ์ํ ๊น?"public๋ ์๋๋ฐ ์ ๊ตณ์ด protected๋ฅผ ์ธ๊น?"โจ ์ด๋ฐ ๊ณ ๋ฏผ, ํด๋ณด์ จ๋์?“protected๋ ๊ฐ๋ ์ ์๊ฒ ๋๋ฐ, ์ค์ ๋ก ์ ์ฐ๋์ง ๋ชจ๋ฅด๊ฒ ์ด์.”“public์ด๋ฉด ๋ค ๋๋ ๊ฑฐ ์๋๊ฐ์?”“๋ฉด์ ์์ ์ ๊ทผ์ ์ด์ ์ฐจ์ด์ ์ ๋งํ ์ ์์ง๋ง, ์ค๊ณ ๊ด์ ์์ ์ ์ฐ๋์ง๋ ์ ๋งคํด์…”๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ์ด๋ ๊ฒ '์ด๋ก ์ ์๋๋ฐ, ์ค๊ณ์์ ์ ๊ทธ๋ ๊ฒ ์จ์ผ ํ๋์ง' ๊ณ ๋ฏผ์ด ์๊ธฐ์ฃ .์ด ๊ธ์์๋ protected์ ์ค์ ์ฌ์ฉ ๋ชฉ์ ๊ณผ ์ค๊ณ ์ด์ ๋ฅผ, ๊ฐ๋ฐ์์ ๋ฉด์ ๊ด ๊ด์ ๋ชจ๋์์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํด๋ด ๋๋ค.๐ ๊ฐ๋ ์ ๋ฆฌ: ์ ๊ทผ์ ์ด์์ ๋น๊ต์ ๊ทผ ์ ์ด์ ๊ฐ์ ํด๋์ค ๊ฐ์ ํจํค์ง ํ์ ํด๋์ค ๋ค๋ฅธ ํจํค์งprivateโ โโโ(default)โ โ โโprotectedโ โ โ โpubl..
2025.07.02 -
๐ข [๋์ปค ๊ต๊ณผ์] 1์ฅ ์์ฝ: ๋์ปค ์ปจํ ์ด๋์ ์ด๋ฏธ์ง ์ดํดํ๊ธฐ
“ํด๋ผ์ฐ๋ ์๋, ์ ๋์ปค๊ฐ ํ์ํ๊ฐ?”1. ๋์ปค๋?๋์ปค(Docker)๋ ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ํ๋ซํผ์ ๋๋ค.์ปจํ ์ด๋๋ OS ์์ค์์ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉด์๋, ๊ฐ๋ณ๊ณ ๋น ๋ฅด๋ฉฐ ์ด์์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.๐ 1.1.1 ํด๋ผ์ฐ๋ ํ๊ฒฝ์ผ๋ก ์ด์ฃผํ๊ธฐํด๋ผ์ฐ๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๊ดํ๋ ๋ฐฉ๋ฒ์ ๋ณดํต ๋ ๊ฐ์ง์ ๋๋ค.โ 1. IaaS (Infrastructure as a Service)๊ฐ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ๋จธ์ ์ ๋ฐ๋ก ์คํ์ด์ฃผ๊ฐ ์ฌ์์ด์๋น๊ฐ ๋๊ณ ์์ ํ์ฉ์ด ๋นํจ์จ์ โ 2. PaaS (Platform as a Service)๊ฐ ์ปดํฌ๋ํธ๋ฅผ ํด๋ผ์ฐ๋ ์ ๊ณต์์ ๋งค๋์ง๋ ์๋น์ค์ ์ข ์๊ด๋ฆฌ ๋ฐ ๋น์ฉ ํจ์จ ๐์ด์ฃผ๊ฐ ์ด๋ ต๊ณ ๋ฒค๋ ์ข ์ ๋ฐ์๐ก ๋์ปค์ ์ฅ์ : ํด๋ผ์ฐ๋ ์ข ์ ์์ด ์ด์์ฑ ํ๋ณด๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ ์ด์ ..
2025.07.01