Backtracking3 [๋ฐฑ์ค] 1799. ๋น์ ๋ฌธ์ ํ์ด ์ฒ์์ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์์ ํ์์ ํตํด ์ต๋ ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด์๋ค. ์ค๊ฐ์ ๊ฐ์ง์น๊ธฐ๋ฅผ ํตํด ์๊ฐ์ ์ค์ผ ์ ์๊ฒ ์ง๋ง n์ ์ต๋๊ฐ์ด 100์ด๊ณ (๋ชจ๋ ์ ์ ๋ํด ๋๋ ๊ฒฝ์ฐ/ ๋์ง ์๋ ๊ฒฝ์ฐ) * (๋์ ์ ์๋์ง ํ๋จํ๊ธฐ ์ํด ์ ๋๊ฐ์ ์ ํ์ํ๋ ๊ฒฝ์ฐ)๋ฅผ ํ๊ฒ ๋๋ฉด O(2^n * n)์ด๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๊ฐํด๋ดค๋ค. ์๊ฐํ ๋ฐฉ๋ฒ์ N-Queens์์ ๋ชจ๋ ํ๋ ฌ์ ์ ์ฅํ์ง ์๊ณ ํด๋น idx์๋ ํ๋์ ๊ฐ๋ง ์ฌ ์ ์๋๋ก ํ๋ค๋ฉด ์๊ฐ์ ์ค์ผ ์ ์๋ค๋ ์๊ฐ์ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ฌถ์ด์ผ ํ ์ง ๊ณ ๋ฏผ์ ํด๋ดค๋ค. N-Queens์์ queen์ ๊ฐ๋ก,์ธ๋ก๋ฅผ ๊ฐ ์ ์์๊ณ ์ด๋ก ์ธํด ํ๋์ ํ์ ํธ์ ๋์ ๊ฒฝ์ฐ์๋ ๊ฐ์ ํ์๋ ํ์ด ์กด์ฌํ์ง ๋ชปํ๋ ์ฑ์ง์ ์ด์ฉํ์๋ค. ์ด.. 2021. 3. 7. [๋ฐฑ์ค] 1987. ์ํ๋ฒณ ํ์ด ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ DFS๋ก ํ์ํ๋ฉฐ ์ด์ ์ ๋ฐฉ๋ฌธํ ์ํ๋ฒณ์ธ ๊ฒฝ์ฐ ๊ฐ์ง์น๊ธฐ๋ฅผ ์งํํ์ฟ๋ค. ์ด ๋ ์ด์ ๋ฐฉ๋ฌธ ๋ ธ๋๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๊ธฐ์๋ ArrayList๋ฅผ ์ฌ์ฉํ์ง๋ง ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ์๊ณ ์ด์ ๋ํ ์ด์ ๊ฐ ArrayList์ remove ๊ณผ์ ์์ O(N)์ ์๊ฐ๋ณต์ก๋๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋จํ์๋ค. ๊ทธ๋์ ์ด์ ๋ฐฉ๋ฌธ ์ํ๋ฒณ์ ์ ์งํ๋ ๋ฐฉ์์ StringBuilder๋ฅผ ์ฌ์ฉํ์๊ณ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ์ญ์ ํจ์ผ๋ก์จ ์๊ฐ ์ด๊ณผ๋ฅผ ํด๊ฒฐํ์๋ค. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ๋ ๋๋ฌด ๋๋ ค์ ์ด๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋นํธ๋ง์คํน์ ์ฌ์ฉํ์๊ณ ๋ชจ๋ ๊ฒฝ์ฐ์ distance๋ฅผ ๋น๊ตํ๋ ๊ฒ์ด ์๋๋ผ ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ์๋ง distance๋ฅผ ๋น๊ตํ๋๋ก ๊ฐ์ ํ์๋ค. ๋นํธ๋ง์คํน์ผ๋ก๋ ํ์ฌ ์ํ๋ฒณ - 'A'๋ฅผ ํด์ค์ผ๋ก์จ ํฌํจ ์ฌ๋ถ๋ฅผ ํ์ธํ์๋ค.. 2021. 2. 19. [๋ฐฑ์ค] 3109. ๋นต์ง ํ์ด DFS๋ฅผ ํตํด ํ์์ ์งํํ ๋ ์ต๋๊ฐ์ ์ฐพ๋ ๊ฒฝ์ฐ๋ ๋๋ถ๋ถ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ ๊ฐ์ง์น๊ธฐํ๋ ๋ฐฑํธ๋ํน ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง ์ด ๋ฌธ์ ๋ ์์ ์ ์ ๊ฐ์ฅ ์์์๋ถํฐ ์ฐ๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ๊ฐ ์ต์ ์ ๋ฐฉ๋ฒ์ด ๋๋ ๊ทธ๋ฆฌ๋ํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์๊ณ ์ด๋ฅผ ํตํด ์ ๋งํ์ง ์์ ๊ฒฝ์ฐ ํ์์ ์ข ๋ฃํ๋ ๊ฒฝ์ฐ ๋๋์๊ฐ๋ ๋ฐฑํธ๋ํน ๋ฐฉ์์ ์ฌ์ฉํ์๋ค. ์ฒซ๋ฒ์จฐ ์ด์ 1๋ฒ์จฐ ํ๋ถํฐ ํ์์ ์งํํ๊ณ , ๋ง์ฝ C๋ฒ์งธ ํ์ ๋์ฐฉํ๋ค๋ฉด ์ด๋ฒ ์์ ์์น์์์ ํ์์ ์ข ๋ฃํ๋ค. ๋ค์ ์์น๋ ๋์ผํ๊ฒ ์งํํ๋๋ฐ ๋ง์ฝ ์คํจํ๋ค๊ณ ํ๋๋ผ๋ ๋ฐฉ๋ฌธํ ์์น์ ๋ํ ์ฒดํฌ๋ฅผ ๋๋๋ฆฌ์ง ์๋๋ค. ์๋ํ๋ฉด ํด๋น ์์น์์ ํ์ดํ๋ฅผ ์์ฑํ์ง ๋ชปํ๋ค๊ณ ํ๋๋ผ๋ ๋ค ์ ํ์ง์์ ํด๋น ๋ฐฉํฅ์ ๋์ผํ๊ฒ ์ค.. 2021. 2. 19. ์ด์ 1 ๋ค์