https://gist.github.com/OneCoin97/ebc692838b7cc229e3471c732abc3503
UnitGroupManagerUnitGroupManager. GitHub Gist: instantly share code, notes, and snippets.gist.github.com
๊ทผ์ฒ์ ์๋ ์ ๋๋ผ๋ฆฌ ์๋ก ๊ทธ๋ฃนํ ํด์ฃผ๋๊ฑฐ ๋ง๋ฆ
๊ทธ๋ฃนํ ๋๋ ๊ฑฐ๋ฆฌ๊ธฐ์ค์ด 1.2cm๋ผ๊ณ ํ๊ณ ย
A<- 1cm ->Bย <- 1cm -> C
์ด์ ๊ฐ์ ๊ฒฝ์ฐ์ย A,์ B๋ ๊ฑฐ๋ฆฌ๊ฐ 1cm์ด๊ธฐ๋๋ฌธ์ 1<1.2๋ผ ๊ทธ๋ฃน์ด ๋ ์์์
ํ์ง๋ง A,C๋ ๊ฑฐ๋ฆฌ๊ฐ 2cm์ด๊ธฐ ๋๋ฌธ์ย 2>1.2๋ผ ๋ฐ๋ก ๊ทธ๋ฃน์ด ๋์ง๋ ๋ชปํจ
๊ทผ๋ฐ ์ค์ ๋ก A์ ๊ฐ์ ๊ทธ๋ฃน์ด B๋์ 1<1.2๋ผ ๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋ฃ์ด์ผํจ
์ด๋ฌธ์ ํด๊ฒฐํ๋ ค๊ณ ์ค๋ ๋จธ๋ฆฌ์ข ์ธ๋งค์์
์ ์ฒด์ ์ผ๋กย On^2๊ตฌ์กฐ์ด๊ธดํ๋ฐ ๊ฒ์์์์ N๊ฐฏ์ 5๊ฐ์ด์ ๋์ด๊ฐ์ผ ์ ๋์์ด์ ๊ด์ฐฎ์
์ต์ ํ ํ๋ ค๊ณ ์ด๋ฏธ ์ฌ๊ทํ๋ฉด์ย ํ์ธํ ์ ๋์ธ๋ฑ์ค๋ย complicatedIndexHashย ์ ๋ฃ์ด์ containsํจ์๋ก ํ์ธํ๊ณ ๋์ด๊ฐ
๋งจ์ฒ์์ ์ฌ๊ทํจ์๋ก ๋ง๋ค์๊ณ ๊ทธ๋ค์์ ํ์ฌ์ฉํด์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ณํํ์
๋ด๊ธฐ์ค์ ๋๊ฒ ๊ณต๋ค์ธ ์ฝ๋๋ผ ์ฌ๋ ค๋ด
์ฝ๋ ์ง์ ํ์์
๊ทผ๋ฐ ๊ถ๊ธํ๊ฒ brave๋ ๋ญ๊ณ , brave๊ฐ null์ผ๋ ์ฒ๋ฆฌ ์์ด๋ ๋๋๊ฑฐ์ผ? ์ผ๋จ ์ ์ฅํด๋๊ฒ ์
์ ๋์ ๊ทผ๋ฐ ๋ด๊ฐ ์ฐ๋ ค๊ณ ๋ง๋ ๊ฑฐ๋ผ ์ฝ๋์ผ๋ถ๋ถ์ด๋ผ๊ณ ๋ณด๋ฉด๋จ
์ ์ฐ๊ณ ์ถ์ผ๋ฉด brave๋ง๊ณ Gameobject๋ก ํด์์ผ๋ก ๋ง๋ค์ด์ค..
์ ๊ฒ์ ์ด๋ ์ฅ๋ฅด์ ์ฌ์ฉํ๋ฉด ์ข์๊ฑฐ์ผ?
์ ๋ต์ชฝ?? ์ ๋์ด ๋ญ์ณ์์๋ ๋ฌด์จํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ถ์ด์ ๋ง๋ ๊ฑฐ์ผ - dc App
์ ๋ดค์ด! ์ถฉ๋ถํ ์ ๋์ํ ๊ฒ ๊ฐ์ง๋ง ์ฝ์ ๊ฒ ์๊น์ฐ๋๊น ๊ตณ์ด๊ตณ์ด ์๊ธฐ๋ฅผ ํด๋ณด์๋ฉด
1. ์๋ก ๋ฉ๋ฆฌ ์๋ ๋ ์ (distanceStandard์ด๊ณผ) A, B๊ฐ ์์ ๋ A์์ B๋ก, B์์ A๋ก ๊ฑฐ๋ฆฌ ๊ณ์ฐ์ ๋ ๋ฒ ํ๊ณ ์๋ ๊ฒ ๊ฐ์. Dist ๊ฒ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ด๋์ ์ ์ฅํ๋ ์์ผ๋ก ํ๋ฉด ๋์ง ์์๊น ์ถ๋ค.
2. Vector3.Distance()๊ฐ ์๋ง ๊ฑฐ๋ฆฌ ์ ๊ณฑ์ ๋ฃจํธ๋ฅผ ์์ธ ๊ฒ ๊ฐ์๋ฐ(ํ์ค์น ์์), distanceStandard๊ฐ์ ์ ๊ณฑํ ํํ๋ก ๋ค๊ณ ๊ฐ๊ณ , Dist ๊ณ์ฐ์ ๋ฐ๋ก ๊ฑฐ๋ฆฌ ์ ๊ณฑ ๋ฐํํ๋ ํจ์ ๋ง๋ค์ด์ ์ ๊ณฑ๋ผ๋ฆฌ ๋น๊ตํ๋ฉด ๋ ์ข์ ๊ฒ ๊ฐ์!
๊ตณ์ด๊ตณ์ด ์ด๋ ต๊ฒ ์ง๋ณด์๋ฉด 2์ค for๋ฌธ ๋๋ ค์ {for i in range(1, n + 1), for j in range(i + 1, n + 1)}๊ฑฐ๋ฆฌ ๋ง์กฑํ๋ฉด ๊ฐ์ ์ฐ๊ฒฐํด์ฃผ๊ณ ํด๋น ๊ฐ์ ์ ๋ณด๋ก Union Findํตํด์ ๊ทธ๋ฃน ๋ฌถ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ฉด ๋ ๋ฏ!
ํด๋นํจ์๋ ๋ณ๊ฒฝํด์ ๋ญ ๋ค๋ฅด๊ฒ ์ฐ๊ณ ์์ง๋ง ํผ๋๋ฐฑ ๊ณ ๋ง์
๊ทผ๋ฐ 1๋ฒ์ complicatedIndexHash.Contains(j)) ์ฌ์ฉํด์ ํด๊ฒฐ๋์ง์๋?? ์ํ์์ํ๊ฒ ์ ์ ์ํ์ ์ฃผ์ฒด์ธ ์ ๋ complicatedIndexHash.Add(startIndex);์ด๋ ๊ฒ ์ถ๊ฐ๊ฐ ๋๊ฑฐ๋ A์์ B๋ก ๊ฒ์ฌ๋ฅผ ํ ๋ A๊ฐ complicatedIndexHash์ ๋ค์ด๊ฐ์ B์์ A๋กํ ๋๋ A ๊ฒ์ฌ๊ฐ ์ ์ธ๋ผ
๊ทธ๋ ๋ค(๋จธ์ฑ)