728x90 ๋ฐ์ํ ๋ฐฑํธ๋ํน3 [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง ํผ๋ก๋ Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํผ๋ก๋ XX๊ฒ์์๋ ํผ๋ก๋ ์์คํ (0 ์ด์์ ์ ์๋ก ํํํฉ๋๋ค)์ด ์์ผ๋ฉฐ, ์ผ์ ํผ๋ก๋๋ฅผ ์ฌ์ฉํด์ ๋์ ์ ํํํ ์ ์์ต๋๋ค. ์ด๋, ๊ฐ ๋์ ๋ง๋ค ํํ์ ์์ํ๊ธฐ ์ํด ํ์ํ "์ต์ ํ์ ํผ๋ก๋"์ ๋ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ๋ฐฑํธ๋ํน์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. (ํน์ ๋ฐฑํธ๋ํน์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ์ฌ๊ธฐ ์์ ๋ณด๊ณ ์์ฃผ์ธ์!) answer๋ฅผ 0๋ถํฐ ํํ์ ์์ํด์ค๋๋ค. func solution(_ k:Int, _ dungeons:[[Int]]) -> Int { var answer:Int = 0 explore(dungeons: dungeons, answer: &answer, k:k, count: 0) return answer } ๋์ ๋ค์ .. 2021. 12. 10. [Algorithm] ๋ฐฑํธ๋ํน(Backtracking)์ด๋? (feat. ์์ ํฌํจ) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ํ๋ก๊ทธ๋๋จธ์ค N-Queen ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ํด๋น ๋ฌธ์ ๊ฐ ๋ฐฑํธ๋ํน ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์๊ฒ ๋์๋๋ฐ์. ๊ทธ๋์ ๋ฐฑํธ๋ํน์ด ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ๊ตฌํํด์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ ๋ฐฑํธ๋ํน์ด๋? ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ถ ๊ณ ๋ คํ๋ ์๊ณ ๋ฆฌ์ฆ ์ํ๊ณต๊ฐ์ ํธ๋ฆฌ๋ก ๋ํ๋ผ ์ ์์ ๋ ์ ํฉํ ๋ฐฉ์์ด๋ค. ์ผ์ข ์ ํธ๋ฆฌ ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ด๋ ๋๋ค. ๋ฐฉ์์ ๋ฐ๋ผ์ ๊น์ด์ฐ์ ํ์(Depth First Search, DFS)๊ณผ ๋๋น์ฐ์ ํ์(Breadth First Search, BFS), ์ต์ ์ฐ์ ํ์(Best First Search/HeuristicSearch)์ด ์๋ค. ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ๋ฌธ์ ๋ผ๋ฉด, DFS๊ฐ ๋ซ๋ค. BFS๋ก๋ ๊ตฌํ์ด ๋ฌผ๋ก ๊ฐ๋ฅํ์ง๋ง,.. 2021. 8. 28. [Swift] ํ๋ก๊ทธ๋๋จธ์ค N-Queen Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - N-Queen ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ์ผ๋ก๋ ์ฒด์คํ์ด ์์ต๋๋ค. ์ฒด์คํ ์์ n๊ฐ์ ํธ์ด ์๋ก๋ฅผ ๊ณต๊ฒฉํ ์ ์๋๋ก ๋ฐฐ์นํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด์ n์ด 4์ธ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํธ์ ๋ฐฐ์นํ๋ฉด n๊ฐ์ ํธ์ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ๋ฐฑํธ๋ํน(DFS)์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. 1. ๊ฐ ํ๋ง๋ค ํธ์ ๋์ ์ ์๋ ์์น๋ฅผ ์ฒดํฌํ๋ค. ๊ฐ ํ๋ง๋ค ํธ์ ํ๋์ฉ๋ฐ์ ๋ชป๋์ผ๋ฏ๋ก ํ์ฌ ํ์ ์ด๋ค์ ๊ณต๊ฒฉํ ์ ์๋ ํธ์ด ์๋์ง ์ฒดํฌํฉ๋๋ค. ๋ง์ฝ ๊ณต๊ฒฉํ ์ ์๋ ํธ์ด ์๋ค๋ฉด ํ์ฌ ์์น๋ฅผ history(ํธ์ ์์น๋ฅผ ์ ์ฅํ๋ 2์ฐจ์ ๋ฐฐ์ด)์ ์ ์ฅํด๋๊ณ ๋ค์ ํ์ผ๋ก ์งํํฉ๋๋ค. ์ด๋ ๊ฒ ์งํํ๋ฉด์ ๊ฐ์ฅ ๋ง์ง๋ง ํ๊น์ง ๋๋ฌํ ๊ฒฝ์ฐ๋ ๋ฐฐ์นํ ์ ์๋ ๊ฒฝ์ฐ์ด๋ฏ๋ก.. 2021. 8. 28. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ