python(14)
-
์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋ ์์ ์ ๋ณต ๐ — 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 -
Python์ main์ด ์๋ ์ด์
Python์ main์ด ์๋ ์ด์ : ๊ฐ๊ฒฐํจ๊ณผ ์ ์ฐ์ฑ์ ์ฒ ํPython์ ์ฒ์ ์ ํ๋ ๊ฐ๋ฐ์๋ผ๋ฉด, Java๋ C ๊ฐ์ ์ธ์ด์์ ํํ ๋ณด์ด๋ main ํจ์๊ฐ Python ์ฝ๋์์๋ ๋ช ์์ ์ผ๋ก ๋ณด์ด์ง ์๋๋ค๋ ์ ์ ์์ํจ์ ๋๋ ์ ์๋ค. ์๋ฅผ ๋ค์ด, Java์์๋ ํ๋ก๊ทธ๋จ์ ์ง์ ์ (entry point)์ผ๋ก public static void main(String[] args)๊ฐ ํ์์ ์ด๋ค. ํ์ง๋ง Python์์๋ ๋จ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ ์คํํ๋ฉด ๋ฐ๋ก ๋์ํ๋ค. ์ ๊ทธ๋ด๊น? ๊ทธ ์ด์ ๋ Python์ ์ค๊ณ ์ฒ ํ๊ณผ ์คํ ๋ฐฉ์์ ์๋ค.1. Python์ ์ธํฐํ๋ฆฌํฐ ๊ธฐ๋ฐ ์คํPython์ ์ปดํ์ผ๋ฌ ์ธ์ด๊ฐ ์๋๋ผ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ค. C๋ Java๋ ์ฝ๋๋ฅผ ์ปดํ์ผํด์ ์คํ ๊ฐ๋ฅํ ํ์ผ์ ๋ง๋ค๊ณ , ๊ทธ ๊ณผ์ ์์ ma..
2025.03.24 -
๊ทธ๋ฆฌ๋ & ๊ตฌํ # 2
๊ตฌํ(Implementation)- ๊ตฌํ์ด๋, ๋จธ๋ฆฟ์์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ค์ฝ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋๋ค.- ํ๋ก๊ทธ๋๋ฐ์์์ ์ขํ๊ณ๋ ์ผ๋ฐ์ ์ธ ๋์ํ์์์ ์ขํ๊ณ์ ๋ค๋ฅธ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋๊ฐ ๋ง์ต๋๋ค. - ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์์ 2์ฐจ์ ๊ณต๊ฐ์ ํ๋ ฌ(Matrix)์ ์๋ฏธ๋ก ์ฌ์ฉ๋ฉ๋๋ค.- ์์ ํ์ ๋ฌธ์ ์์๋ 2์ฐจ์ ๊ณต๊ฐ์์์ ๋ฐฉํฅ ๋ฒกํฐ๊ฐ ์์ฃผ ํ์ฉ๋ฉ๋๋ค. ์๊ฐ: ๋ฌธ์ ์ค๋ช - ์ ์ N์ด ์ ๋ ฅ๋๋ฉด 00์ 00๋ถ 00์ด๋ถํฐ N์ 59๋ถ 59์ด๊น์ง์ ๋ชจ๋ ์๊ฐ ์ค์์ 3์ด ํ๋๋ผ๋ ํฌํจ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๋ฅผ ๋ค์ด 1์ ์ ๋ ฅํ์ ๋ ๋ค์์ 3์ด ํ๋๋ผ๋ ํฌํค๋์ด ์์ผ๋ฏ๋ก ์ธ์ด์ผ ํ๋ ์๊ฐ์ ๋๋ค. - 00์ 00๋ถ 03์ด - 00์ 13๋ถ 30์ด- ๋ฐ๋ฉด์ ๋ค์์ 3์ด ํ..
2020.11.25 -
๊ทธ๋ฆฌ๋ & ๊ตฌํ # 1
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ(ํ์๋ฒ)์ ํ์ฌ ์ํฉ์์ ์ง๊ธ ๋น์ฅ ์ข์ ๊ฒ๋ง ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ์ ์๋ฏธ- ์ผ๋ฐ์ ์ธ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ์ต์ํ์ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆด ์ ์๋ ๋ฅ๋ ฅ์ ์๊ตฌํฉ๋๋ค.- ์ ๋น์ฑ ๋ถ์์ด ์ค์ ๊ฑฐ์ค๋ฆ ๋: ๋ฌธ์ ์ค๋ช - ์ต์ ์ ํด๋ฅผ ๋น ๋ฅด๊ฒ ๊ตฌํ๊ธฐ ์ํด์๋ ๊ฐ์ฅ ํฐ ํํ ๋จ์๋ถํฐ ๋์ ๊ฑฐ์ฌ๋ฌ ์ฃผ๋ฉด ๋๋ค. ๊ฑฐ์ค๋ฆ ๋: ์ ๋น์ฑ ๋ถ์- ๊ฐ์ฅ ํฐ ํํ ๋จ์๋ถํฐ ๋์ ๊ฑฐ์ฌ๋ฌ ์ฃผ๋ ๊ฒ์ด ์ต์ ์ ํด๋ฅผ ๋ณด์ฅํ๋ ์ด์ ๋? - ๊ฐ์ง๊ณ ์๋ ๋์ ์ค์์ ํฐ ๋จ์๊ฐ ํญ์ ์์ ๋จ์์ ๋ฐฐ์์ด๋ฏ๋ก ์์ ๋จ์์ ๋์ ๋ค์ ์ข ํฉํด ๋ค๋ฅธ ํด๊ฐ ๋์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฑฐ์ค๋ฆ ๋: ๋ต์ ์์(Python)n = 1260count = 0# ํฐ ๋จ์์ ํํ๋ถํฐ ์ฐจ๋ก๋๋ก ํ์ธํ๊ธฐarray = [500, ..
2020.11.25