์ ์๋ ์ ์ฝ๋์์ ์ต๋จ๊ฑฐ๋ฆฌ์ธ์ง ํ๋ณํ๋ ๊ฒ์
๊ฐ์ ์๊ฐ์์ ์๊ฐ์
๋๋ค.. ์ ๋ง ์ฐธ๊ณ ๋ง ๋ฐ๋์ ใ
ใ
.. 1. ์ข
๋ฃ๊ฐ ๋๋ ์กฐ๊ฑด. Q)dis[7][7]์ ์ด๋ค ์๊ฐ ๋ค์ด๊ฐ๋ฉด ๋ฐ๋ก ์ฝ๋๊ฐ ์ข
๋ฃ๋๋ ์กฐ๊ฑด๋ ์๋๋ฐ ์ด๋ป๊ฒ ํ๋ณํ๋ ๊ฒ์ธ๊ฐ์...? A) ์ข
๋ฃ๊ฐ ๋๋ ์กฐ๊ฑด์ while(q๊ฐ ๋น์์๊ฒฝ์ฐ)์
๋๋ค. ๊ทธ๋ฆฌ๊ณ q(Queue)์ ์๋ก์ด Point๊ฐ์ฒด๋ฅผ ๋ฃ๋ ์กฐ๊ฑด์ " if(nx>=1 && nx7 && ny>=1 && ny7 && board[nx][ny] == 0) " ์
๋๋ค. board[nx][ny] ๋ง์ง๋ง์ [7][7]์ด 0์ด์ฌ์ผ q์ ์๋ก์ด Point๊ฐ์ฒด๊ฐ ๋ค์ด๊ฐ ์ ์์ง๋ง ์ด๋ฏธ ๋์ฐฉํ nx,ny๊ฐ ์๋ค๋ฉด 1์ด ๋๋ฏ๋ก ๋ฆ์ nx,ny๋ ๊ณต์ค๋ถํด ๋ฉ๋๋ค. (if ์ ๊ฑธ๋ฆฌ์ง ์์์ q์ ๋ค์ด๊ฐ์ง ์๊ธฐ๋๋ฌธ) 2. ๊ฒฝ๋ก๊ฐ 3๊ฐ ์ด์? ๊ฐ๊ฐ์ ๊ฒฝ๋ก๋ ๊ฐ๊ฐ if๋ฌธ์ ํตํด q์ ๋ฃ๊ณ ์ด๋ฅผ ๋ค์ while๋ฌธ์ผ๋ก ๋๋ฆฌ๋ ์ํฉ์
๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ q์ ๋ฃ์ x,y๊ฐ์ ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด์ฃ . ๋ํ ๊ฒฝ๋ก๊ฐ ๊ฒน์น๋๋ฐ ์ ๋ต์ธ ์ ์ผ ์งง์ ๊ฒฝ๋ก๊ฐ ๋ฆ๊ฒ ์ฌ๊ฒฝ์ฐ ์ฆ ์ด๋ฏธ board[nx][ny]๊ฐ์ด 1์ด์ฌ์ q์ ๋ชป๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ? ๋ ์์ต๋๋ค. ์ ๋ต(์งง์ ๊ฒฝ๋ก)์ ์ํด ๊ฑฐ์ณ์ผํ๋ ๊ตฌ๊ฐ์ ์ด์จ๋ ๋จผ์ 1๋ก ๋ง๋ nx,ny๊ฒฝ๋ก๊ฐ ์ ์ผ ์งง์ ๊ฒฝ๋ก์
๋๋ค. dis๋ฐฐ์ด์ ์ด์ฉํ๊ณ board[nx][ny]๋ฅผ 1๋ก ๋ฐ๊พธ๋ ์ด์ ์
๋๋ค. ๋ค๋ฅธ ๋ฆ์ ๊ฒฝ๋ก๋ค์ ์ฌ์ ์ if๋ฌธ์ผ๋ก ๊ฑธ๋ฌ๋ด๋๊ฒ๋๋ค. ๋ง์ด ๋ถ์กฑํ๊ณ ์ ๋ ์ ๋ชจ๋ฅด๊ฒ์ง๋ง.. ํ์ดํ
!