[python] ์ฝ๋ฉ ํ
์คํธ๋ฅผ ์ํ '์๊ณ ๋ฆฌ์ฆ'
ยท
๐ป Programming/์ฝ๋ฉ ํ
์คํธ
์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋จ๊ณ์ ์ธ ์ ์ฐจ์ด๋ค. ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ฉด ์๊ฐ๊ณผ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์๊ณ , ๋ฌธ์ ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ํด๊ฒฐํ ์ ์๊ธฐ์ ์์๋ฌ์ผ๊ฒ ์ง? (๋งจ๋ ๊น๋จน๋๋ค)Brute Force๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๊ณ ๋ คํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋งค์ฐ ์ง๊ด์ ์ด๊ณ ๊ตฌํํ๊ธฐ ์ฝ์ง๋ง, ๊ฒฝ์ฐ์ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๊ฐ ๋ณต์ก๋๊ฐ ๋งค์ฐ ์ปค์ง ์ ์๋ค. ๋ฐ๋ผ์ ์ฃผ๋ก ์ ํ์ด ์ ๊ฑฐ๋, ๋ฌธ์ ์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค.ํน์ง๋จ์ํ๊ณ ์ง๊ด์ : ์๊ณ ๋ฆฌ์ฆ์ด ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ดํดํ๊ธฐ ์ฌ์.์๊ฐ ๋ณต์ก๋: ๋ฌธ์ ์ ํฌ๊ธฐ์ ๋ฐ๋ผ O(n^2), O(n!)์ ๊ฐ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์์.๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์๋: ์ต์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๊ณ , ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ํ๋ ๋ฐฉ์์ด๋ค..