๋ฌธ์
์๋ ํ์ธ์! Eric ์ ๋๋ค! ์ค๋ ๊ฐ์ ธ์จ ๋ฌธ์ ๋ bfs๋ก ํ ์ ์๋
๋ฐฑ์ค 7576๋ฒ ํ ๋งํ ๋ฌธ์ ์ ๋๋ค!
๊ทธ๋ฌ๋ฉด ๋ฌธ์ ํ์ด ์์ํด๋ณผ๊น์?
ํ์ด
ํด๋น ๋ฌธ์ ๋ bfs ๋ก ํ ์ ์๋ ๋ฌธ์ ์ ๋๋ค.
์ ๋ ํด๋น ์์น์ ๊ฐ์ class Point ๋ผ๋ ๊ฐ์ผ๋ก ๊ด๋ฆฌ ํ์์ต๋๋ค.
์ฐ์ ํ ๋งํ ๊ฐ ๋ณด๊ด๋๋ ์ฐฝ๊ณ ์์ ์๋ input ๊ฐ๋ค์ ์ ๋ ฅํด์ค๋๋ค.
์ด๋, ์ ๋ ฅ๋๋ ๊ฐ์ด 1 ์ด๋ฉด,
ํด๋น ํ ๋งํ ๋ ์ต์ํ ๋งํ ์ด๋ฏ๋ก ์์ผ๋ก ์์ง์ด๋ฉด์ ๊ทผ์ฒ ํ ๋งํ ๋ค์ ์ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ์ต์ ํ ๋งํ ๋ค์ด bfs๋ฅผ ๋๋ฉด์ ์,ํ,์ข,์ฐ ์ ํ ๋งํ ๋ค์ ์ต๊ฒ ๋ง๋ค์ด์ค๋๋ค. ([]dx , []dy ์ด์ฉ)
์ด๋ bfs๋ฅผ ๋๋ฉด์
board[][] ์ ์ ๋ ฅ๋ ๊ฐ์ด 1 ์ด๋ฉด,
dis[][] ๋ผ๋ ๋์ผํ ํฌ๊ธฐ์ ๋ฐฐ์ด์์ +1์ฉ ์ถ๊ฐํด์ค๋๋ค.
1์ฉ ์ถ๊ฐํด์ค ์ด์ ๋, Queue๊ฐ ํํด ๋๋๋ง๋ค 1์ผ์ฉ ์ถ๊ฐ ๋๋ฏ๋ก
Queue๊ฐ ๋นํต์ผ ๋ ๋๊น์ง ๋์์ค๋๋ค.
bfs๋ฅผ ๋ค ๋๊ณ ๋์๋
์ต์ง์์ ํ ๋งํ ๊ฐ ์๋์ง ํ์ธํ๊ธฐ ์ํด์
๋ค์ for๋ฌธ์ ๋๋๋ค,
๋ง์ฝ board์ ํ๋๋ผ๋ 0 ์ด ์กด์ฌํ๋ฉด,
์ด ํ ๋งํ ํ์ ๋ค ์ต์ง ๋ชปํ๋ ๊ฒ์ด๋ฏ๋ก
๋ง์ง๋ง์ -1์ ์ถ๋ ฅํฉ๋๋ค.
์ฝ๋
'๐ป ๊ฐ๋ฐ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Eric's ๋ฐฑ์ค] 1012๋ฒ - ์ ๊ธฐ๋๋ฐฐ์ถ ๐ฅฌ - Java (0) | 2023.02.24 |
---|---|
[Eric's ๋ฐฑ์ค] 7569๋ฒ - ํ ๋งํ - Java ๐ ๐ (2) | 2023.02.17 |
[Eric's ๋ฐฑ์ค] 9020๋ฒ - ๊ณจ๋๋ฐํ์ ์ถ์ธก - Java (0) | 2023.02.16 |
[Eric's ๋ฐฑ์ค] 6588๋ฒ - ๊ณจ๋๋ฐํ์ ์ถ์ธก - Java (0) | 2023.02.16 |
[Eric's ๋ฐฑ์ค] 1747๋ฒ - ์์&ํฐ๋ฆฐ๋๋กฌ - Java (0) | 2023.02.16 |