์ถํ ์ ์ ์ต๋ํ ๋ง์ ๊ฒํ ๊ณผ์ ์ ๊ฑฐ์ณค์ผ๋, ์ฌ์ ํ ์ฑ ์ ์กด์ฌํ๋ ์ค๋ฅ๋ก ์ธํด ๋ถํธํจ์ ๋๋ ค ์ ๋ง ์ฃ์กํฉ๋๋ค.
- ๋งต์ ์ธ๋ก ํฌ๊ธฐ N๊ณผ ๊ฐ๋ก ํฌ๊ธฐ M์ ์ ๋ ฅ ๋ฒ์๋ (3 โค N, M โค 50)์ ๋๋ค.
- BFS๋ Breadth First Search์ ์ฝ์์ธ๋ฐ, ์ฑ ์ d๊ฐ ๋น ์ ธ ๊ธฐ์ฌ๋์ด ์์ต๋๋ค.
- ์ฃผ์์์ "# ์ค๊ฐ์ ์ ๊ฐ๋ณด๋ค ์ฐพ๊ณ ์ ํ๋ ๊ฐ์ด ํฐ ๊ฒฝ์ฐ ์ค๋ฅธ์ชฝ ํ์ธ"์ด ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
- ๋ฌธ์ ์ ์กฐ๊ฑด์์ N๊ฐ์ ์ ์์ M๊ฐ์ ์ ์ ๋ชจ๋ ํฌ๊ธฐ๋ 1๋ณด๋ค ํฌ๊ณ 1,000,000์ดํ์ ๋๋ค.
- '๊ณ์ ์ ๋ ฌ'์ ์ด์ฉํ ๋ต์์์ array ๋ฆฌ์คํธ ๋ณ์์ ํฌ๊ธฐ๋ 1,000,001์ ๋๋ค.
- ๊ทธ๋ฆผ โ์์ ๊ทธ๋ฆผ์ ์ค๋ฅธ์ชฝ ๋ถ๋ถ์ 'ํธ ์ ์์'์ธ๋ฐ ์๋ชป ๊ธฐ์ฌ๋์ด ์์ต๋๋ค.
- ์ถ๋ ฅ ์กฐ๊ฑด์ผ๋ก "์ฒซ์งธ ์ค์ M ์์ ๋ง๋ค๊ธฐ ์ํ ์ต์ํ์ ํํ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค."๊ฐ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
- ์ฃผ์์์ "# x๋ฒ ๋ ธ๋์์ y๋ฒ ๋ ธ๋๋ก ๊ฐ๋ ๋น์ฉ์ด z๋ผ๋ ์๋ฏธ"๊ฐ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
- N๊ณผ M์ ์ ๋ ฅ ๋ฒ์๋ (1 โค N, M โค 100,000)์ ๋๋ค.
- ๊ณ ์ ์ ์ ์ต๋ 1๊ฐ๋ง ์กด์ฌํฉ๋๋ค.
- ๋ ๋ฒ์งธ ์์ ์ ์ธ ๋ฒ์งธ ์์ ์ ์คํ ๊ฒฐ๊ณผ๊ฐ ์๋ชป ๊ธฐ์ฌ๋์ด ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ์คํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# ๋ ๋ฒ์งธ ์์
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# ์ธ ๋ฒ์งธ ์์
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
[[0, 5, 0, 0], [0, 5, 0, 0], [0, 5, 0, 0]]
- ๋ ๋ฒ์งธ ์์๋ ์ต๋ ํ์ ๊ตฌํํ์ฌ ๋ด๋ฆผ์ฐจ์ ํ ์ ๋ ฌ์ ๊ตฌํํ๋ ์์์ ๋๋ค.
- ์ธ ๋ฒ์งธ ์ฟผ๋ฆฌ๋ ์ธ ๋ฒ์งธ ์๋ถํฐ ๋ค ๋ฒ์งธ ์๊น์ง์ ๊ตฌ๊ฐ ํฉ์ ๋ฌผ์ด๋ณด๋ [3, 4]์ ๋๋ค.
- ์์์์ "D12 + D23 = 11๊ณผ ๋น๊ตํด์ 11๋ก ๊ฐฑ์ ๋๋ค."๊ฐ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
- [Step 2]์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋์ด์ผ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
์ ์ฒด ๋จ์ ์๊ฐ์ 3์ด์ด๊ณ , ์ด๋ฒ ๋จ๊ณ์์๋ 2๋ฒ ์์์ ๋นผ์ผ ํ๋ค. ์ ์ฒด ์์์ด 2๊ฐ ๋จ์ ์์ผ๋ฏ๋ก ์ด๋ฒ ๋จ๊ณ์์ ๋บ ์๊ฐ์ 2(๋จ์ ์์์ ๊ฐ์) X 2(2๋ฒ ์์์ ๋ค ๋จน๋ ์๊ฐ) = 4์ด๊ฐ ๋๋ค. ํ์ง๋ง ํ์ฌ ์ ์ฒด ๋จ์ ์๊ฐ์ด 3์ด์ธ๋ฐ, ์ด๋ 4๋ณด๋ค ์์ผ๋ฏ๋ก ๋นผ์ง ์๋๋ก ํ๋ค.
- ๋ฌธ์ ํด์ค์ ์์ ์ค๋ช ์ ์ค๋ฅ๊ฐ ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ์ค๋ช ์ ์์ ์ฌํญ์ด ๋ฐ์๋ ์ค๋ช ๋งํฌ์ ๊ฐ์ต๋๋ค.
- ๋ชจ๋ฒ๋ต์์ start ๋ณ์๋ฅผ ์ด๊ธฐํํ๋ ๋ถ๋ถ์์ ๋ค์์ ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.
start = 1 # ๊ฐ๋ฅํ ์ต์ ๊ฑฐ๋ฆฌ(min gap)
end = array[-1] - array[0] # ๊ฐ๋ฅํ ์ต๋ ๊ฑฐ๋ฆฌ(max gap)
- ๊ฐ ์์น์ ๋งค์ฅ๋ ๊ธ์ ๊ฐ์๋ 1 ์ด์์ด ์๋ 0 ์ด์์ ๋๋ค.
- ๋ฌธ์ ์ค๋ช ์์ ๋ ํ์ฑ A์ B๋ฅผ ํฐ๋๋ก ์ฐ๊ฒฐํ ๋ ๋๋ ๋น์ฉ์ผ๋ก๋ min(|xA-xB|, |yA-yB|, |zA-zB|)๊ฐ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋๋ค.