๋์ด๋ : ๊ณจ๋ 2 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฌธ์ ํผ์ฆ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 3×3 ํ์ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐ ์ฑ์์ ธ ์๋ค. ์ค๋ฅธ์ชฝ ์๋ ๊ฐ์ฅ ๋ ์นธ์ ๋น์ด ์๋ ์นธ์ด๋ค. 1 2 3 4 5 6 7 8 ์ด๋ค ์์ ์ธ์ ํด ์๋ ๋ค ๊ฐ์ ์นธ ์ค์ ํ๋๊ฐ ๋น์ด ์์ผ๋ฉด, ์๋ฅผ ๊ทธ ์นธ์ผ๋ก ์ด๋์ํฌ ์๊ฐ ์๋ค. ๋ฌผ๋ก ํ ๋ฐ๊นฅ์ผ๋ก ๋๊ฐ๋ ๊ฒฝ์ฐ๋ ๋ถ๊ฐ๋ฅํ๋ค. ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ด๊ธฐ ์ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์์ ์ด๋์ผ๋ก ์์ ๊ฐ์ ์ ๋ฆฌ๋ ์ํ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ํ์ด ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ์ด๋ฏ๋ก bfs ์ด์ฉ memo ํด์ผ ๋๊ฐ์ ๊ฒฝ๋ก ๋ค์ ํ์ x memo๋ ์ ์ฒด map์ ์ํ๋ฅผ ์ ์ฅํด์ผํจ string์ผ๋ก ์ ์ฅ ์ฝ๋ #include #include #include #include #include using namespace std; int map[..
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ 30๋ถ ๋ฌธ์ DSLR ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด DSLR์ด๋ผ๋ 4๊ฐ์ง ๊ฒฝ๋ก๊ฐ ์๋ค๊ณ ์๊ฐํ๊ณ bfs ์ฝ๋ #include #include #include using namespace std; struct point { int prev; char state; int visited = -1; }; char dslrArr[4] = { 'D', 'S', 'L', 'R' }; int dslrResult(int type, int num) { int tmp; switch (type) { case 0 : return (num* 2) % 10000; case 1 : if (num == 0) return 9999; else return num - 1; case 2 : tmp = num /..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : ใ ใ .. ์ค๋ ๊ฑธ๋ฆผ ๋ฌธ์ ์๊ธฐ ์์ด ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด bfs๋ฅผ ์ด์ฉํ์ฌ ๋จน์ ์ ์๋ ๊ณ ๊ธฐ ์ฐพ๊ธฐ + ์์ด๋ก๋ถํฐ์ ๊ฑฐ๋ฆฌ ์ฐพ๊ธฐ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋จน์ ์ ์๋ ๊ณ ๊ธฐ๋ค ์ฐพ๊ธฐ ๊ทธ ์ค ๊ฐ์ฅ ์ผ์ชฝ ์์ ์๋ ๊ณ ๊ธฐ ์ฐพ๊ธฐ ์์ด๊ฐ ํด๋น ๋ฌผ๊ณ ๊ธฐ์ ์์น๋ก ์ด๋ํด์ ๋จน๊ณ , ๋จน์ ๋ฌผ๊ณ ๊ธฐ ๊ฐ์๊ฐ size์ ๊ฐ์์ง๋ฉด size ํค์ฐ๊ธฐ ์์ด๋ณด๋ค ์์ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์์ ๋๊น์ง ๋ฐ๋ณต ์ฝ๋ #include #include #include using namespace std; struct shark { int r; int c; int size = 2; }; struct fish { int r; int c; int distance = 0; fish(int rp, int cp, int dist) { r = rp..
๋์ด๋ : ๊ณจ๋ 4 ๊ฑธ๋ฆฐ ์๊ฐ : 40๋ถ ๋ฌธ์ ์ํ๋ฒณ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋ง์ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 256 MB 49866 15734 9600 29.155% ์ธ๋ก R์นธ, ๊ฐ๋ก C์นธ์ผ๋ก ๋ ํ ๋ชจ์์ ๋ณด๋๊ฐ ์๋ค. ๋ณด๋์ ๊ฐ ์นธ์๋ ๋๋ฌธ์ ์ํ๋ฒณ์ด ํ๋์ฉ ์ ํ ์๊ณ , ์ข์ธก ์๋จ ์นธ (1ํ 1์ด) ์๋ ๋ง์ด ๋์ฌ ์๋ค. ๋ง์ ์ํ์ข์ฐ๋ก ์ธ์ ํ ๋ค ์นธ ์ค์ ํ ์นธ์ผ๋ก ์ด๋ํ ์ ์๋๋ฐ, ์๋ก ์ด๋ํ ์นธ์ ์ ํ ์๋ ์ํ๋ฒณ์ ์ง๊ธ๊น์ง ์ง๋์จ ๋ชจ๋ ์นธ์ ์ ํ ์๋ ์ํ๋ฒณ๊ณผ๋ ๋ฌ๋ผ์ผ ํ๋ค. ์ฆ, ๊ฐ์ ์ํ๋ฒณ์ด ์ ํ ์นธ์ ๋ ๋ฒ ์ง๋ ์ ์๋ค. ์ข์ธก ์๋จ์์ ์์ํด์, ๋ง์ด ์ต๋ํ ๋ช ์นธ์ ์ง๋ ์ ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ด ์ง๋๋ ์นธ์ ์ข์ธก ์๋จ์ ์นธ๋ ํฌํจ๋๋ค. ํ..
๊ทธ๋ํ ํ์ ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ๊ธฐ๋ฒ์๋ ๋ํ์ ์ผ๋ก 2๊ฐ์ง๊ฐ ์๋ค. ๋๋น ์ฐ์ ํ์์ธ BFS(Breadth-First Search)์ ๊น์ด ์ฐ์ ํ์์ธ DFS(Depth-First Search)์ด๋ค. BFS BFS๋ ํ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค์์ง๋ง, ๋ชจ๋ ๊ทธ๋ํ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ํ๋ค. ๋ฃจํธ ๋ ธ๋๋ฅผ queue์ ๋ฃ๋๋ค. queue์ ๋ ธ๋๋ฅผ ํ๋ ๊บผ๋ธ ํ, ํด๋น ๋ ธ๋์์ ์ธ์ ๋ ธ๋๋ฅผ ๋ชจ๋ queue์ ๋ฃ๋๋ค. ์์ ๋ฐฉ์์ ๋ชจ๋ ๋ ธ๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค. stack์ ๋ค์ด๊ฐ ์์๋ฅผ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1=>2=>3=>4=>5=>6=>7=>8 ๋ฐ๋ผ์ ํธ๋ฆฌ์์ BFS๋ฅผ ์คํํ์ฌ ํ์์ ํ๋ ๊ฒ์ ๋ ๋ฒจ ์ํ๋ฅผ ํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. DFS DFS๋ ์คํ์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ค. ์ค๋ช ํธ๋ฆฌ๋ก ์๋ฅผ ๋ค..
ํ์ ํ์์ ์ฃผ์ด์ง ์๋ฃ๋ค ์ค ์ํ๋ ์กฐ๊ฑด์ ํด๋นํ๋ ์๋ฃ๋ฅผ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ์ปดํจํฐ์์ ํ์์ ์์ฃผ ์ด๋ฃจ์ด์ง๋ฏ๋ก ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ์ํํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ด์ ์ ๋ฐฐ์ ๋ '์ ๋ ฌ'์ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์ ๋ ฌ์ ๋ฆฌ์คํธ๋ฅผ ํ๋์ ๊ธฐ์ค์ผ๋ก ๋ํ๋ด๊ธฐ ์ํด์๋ ์ฐ์ด์ง๋ง ์ํ๋ ์๋ฃ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ํ๊ธฐ ์ํด ์ฐ์ด๊ธฐ๋ ํ๋ค. ๋ฌผ๋ก ๊ตณ์ด ์ ๋ ฌ์ด ์๋๋๋ผ๋ ํ์์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ค. ์ ๋ ฌ ๋ณด๊ธฐ ์์ผ๋ก ์๊ฐํ ํ์์ ๋ค์์ 4๊ฐ์ง ์ข ๋ฅ์ด๋ค. ์ ํํ์ ์ด์งํ์ ํด์ํ์ BST ํ์์ ์ํด์๋ ๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ํธ๋ฆฌ, ๊ทธ๋ํ ๋ฑ ๋ค์ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ๋ง์ถฐ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ฃ๊ตฌ์กฐ ๋ณด๊ธฐ ์ ํ ํ์ ์์ฐจ ํ์์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ์ ํ ํ์์ ๊ฐ์ฅ ๊ฐ๋จํ ํ์ ๋ฐฉ๋ฒ์ด๋ค. ์ ํ ํ์..
BST BST(Binary Search Tree)๋ ํธ๋ฆฌ์ ํ ์ข ๋ฅ์ด์ ์ด์งํ์์ ์ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ๊ณผ์ BST๋ฅผ ์ด์ฉํ ํ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ด์ง ํ์ ํธ๋ฆฌ ๋ง๋ค๊ธฐ (์์ฑ) ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์ ์ฐพ๊ธฐ (ํ์) ์ญ์ ๋ฐ ์ฝ์ ํ๊ธฐ (์ญ์ / ์ฝ์ ) ์์ ๋จผ์ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ณด์. ์ด์ง ํ์ ํธ๋ฆฌ๋ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ์์ ๊ฐ์ ๋ ธ๋๊ฐ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์๋ ๋ ํฐ ๊ฐ์ ๋ ธ๋๊ฐ ์์ด์ผํ๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ํ๋์ฉ ์ฝ์ ํ๋ฉด์ ์๋ง์ ์์น๋ฅผ ์ฐพ์์ฃผ๋ฉด ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋์จ ์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ์ค์ ์ํํ๋ฉด ์ ๋ ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋๋ค. ๊ทธ ๋ค์์๋ ๋ฃจํธ ๋ ธ๋์์ ๋ด๋ ค๊ฐ๋ฉด์ ์ํ๋ ์์๋ฅผ ์ฐพ๊ณ ์ญ์ ํด๋ณด์. ์ํ๋ ์์๋ 6์ด๋ค. ์ผ์ชฝ ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ ๊ทธ..
Comment