์ฌ๋ฌ๊ฐ์ง ์ฐพ์๋ดค๋๋ฐ ์ฝ๊ฐ ์ดํด๊ฐ ์๋ผ์...
์ฐพ์๋ณด๋๊น BinarySearch, Indexof, Findindex ๋ฑ๋ฑ์ด ์๋๋ฐ ์๋ฌธ์ผ๋ก ๋์์๋๊ฒ ๋ค ๋ฌธ์์ด๋ก ์ฐพ๋ ๋ฐฉ๋ฒ์ด์๊ณ
๊ฒ๋ค๊ฐ ๋ฌธ์์ด์ 'ํฌํจ'์ธ์ง, ์ ํํ ๋ฌธ์์ด์ด ๊ฐ์์ง ๋น๊ตํ๋ ๊ฒ ์๋์์๋๋ผ๊ตฌ
์๋ฅผ ๋ค๋ฉด list<int> ํํ์ ๋ฆฌ์คํธย asdf๊ฐ ์๊ณ , ํญ๋ชฉ ๋ด์ฉ์ด {1, 10, 11, 111} ์ด๋ ๊ฒ ์์ผ๋ฉด
๋๋ 11 ํญ๋ชฉ์ด ์ด๋์ ์๋์ง ์ฐพ๊ณ ์ถ๋ค ์ด๋ฌ๋ฉด ์ด๋ป๊ฒ ํ๋ฉด ๋ ๊น?
๋ง์ฝ int qwer = 11; ์ด๋ผ๊ณ ํ๋ฉดย
int return_value = asdf.Indexof(int qwer) ย ์ด๋ ๊ฒ ํ๋ฉด ๋๋?
๋น์ฐํ๊ฑฐ ์๋๋? ๊ทธ๋ฆฌ๊ณ ์์์ ์ผ๋ก ์ด๋ฐ๊ฑด ์ฌ๊ธฐ ๋ฌป๊ธฐ ์ ์ ์ ๋ํฐ์์ ๋๋ ค๋ณด๊ณ ๋ก๊ทธ ๋์ด๋ณด๋ฉด ๋ฐ๋ก ์๋๊ฑด๋ฐ ์ด๋ด๊ฑธ ์ ์ฌ๊ธฐ ๋ฌป๋
ใด ์ผ๋จ ๋ต ์๋ ค์ค๊ฑด ๊ณ ๋ง์ด๋ฐ, ์ ๋ง์ ๊ทธ๋ด์์ผ๋ก ํจ? ๋ํํ ์ฌ์ธ ์ค ๋ชฐ๋ผ๋ ๋ค๋ฅธ ์ฌ๋๋คํํ ์ด๋ ค์ธ ์๋ ์๋๊ฑฐ๊ณ ์ฌ๋๋ง๋ค ์๊ณ ๋ชจ๋ฅด๋๊ฒ ๋ค๋ฅด๋๊น ๋ฌผ์ด๋ณด๊ณ ๋ต๋ณ ๋ฐ๋๊ฑด๋ฐ ๊ทธ๊ฒ ๊ทธ๋ ๊ฒ ๊ณ ๊น์? ์๋๋ฉด ๊ฐค์ ๋ด๋น๋ค ์ง๋ฌธํ์ง ๋ง๋ผ๊ฑฐ๋, ์ด๋ ค์ด ๋ํ๋ง ํ๋ผ๋ ๊ท์น์ด๋ผ๊ณ ์์?
๋๊ฐ ๋ณด๊ณ ๋ต๋ณํ ๊ฐ์น ์๋ค ์๊ฐํ๋ฉด ๊ทธ๋ฅ ๋ค๋ก๊ฐ๊ธฐ ๋๋ฌ. ๋ฌด์จ ๋๋ฒ๊ด๋ ์๋๊ณ ์ด์ ๋ถํฐ ๋๋ ๋ค๋ฅธ ์ฌ๋์ด ๊ฐ๋จํ(ํน์ ๋ํํ ๋ ๊ฐ๋จํด๋ณด์ด๋) ์ง๋ฌธ ์ฌ๋ฆฌ๋ฉด ๋ ๊ป๊ฒ ๋งํ๋ ๊ฑฐ ๊ทธ๋ง ์ข ํด๋ผ ๊ฑ ๋ฌด์๋ฅผ ํ๋๊ฐ
์๋ ์ฌ๊ธฐ๊ฐ ๋ค์ด๋ฒ ์ง์์ธ๋ ์๋๊ณ ์ ๋ฐ๊ฑด ์ธํฐ๋ท ๊ฒ์ํ๊ฑฐ๋ ์๊ธฐ๊ฐ ์ง์ ์๋ฌธ๋๋ ๋ถ๋ถ ๋๋ ค๋ณด๋ฉด ๊ธ๋ฐฉ ์๋๊ฑด๋ฐ ์ด๊ฑธ ๋จผ์ ์ฌ๊ธฐ ๋ฌผ์ด๋ณผ ์๊ฐ์ ํ๋๊ฒ ์ดํด๊ฐ ์๋์ ๊ทธ๋ฐ๋ค
๋๊ฐ ๋งํ ๋ฐฉ๋ฒ์ด ๋ง์. ๊ฒฐ๊ตญ์ ์์๋ค์ ๋น๊ตํ์ฌ ์ผ์นํ๋๋์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๋ ๋งค์ปค๋์ฆ์ธ๋ฐ, ๋๊ฐ ๊ธ์ ์จ๋์ ๋ค์ํ ๋ ์๋ค์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๋ ์ํฉ์ด ๊ทธ๋งํผ ๋ค์ํ๋๊น ๊ทธ๋ฐ๊ฑฐ์ง. ์๋๋ฅผ ์ค์ฌ์ผ๋ก ํ๋๋, ์ค๋ณต๋ ๋๋ค์ ์ด์ผ ์ณ๋ผ๊ฑฐ๋ ๋ฑ๋ฑ ์๋ฌดํผ ์ค์ํ๊ฑด ์๋ฆฌ๋ ๋๊ฐ ๋งํ๊ฒ ๋ง์ (๊ทผ๋ฐ IndexOf๊ฐ ๋ง์๋?? ๊ทธ๊ฑด ๊ธฐ์ต์ด ์๋จ ใ ใ ใ )
ใด์ฐพ์๋ณด๋๊น ๋ค ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค๊ณ ํ๋๋ฐ ์๋ฌธ์ด ๋ค ๋ฌธ์์ด์ ์๋ฐ์ดํ ์์์ ๊ฒ์ํ๋ ๊ฒ์ฒ๋ผ ๋์์์ด์ ์ด๋ค๊ฑธ ์ด๋ป๊ฒ ์จ์ผํ๋์ง ๋ชฐ๋์. ๊ทผ๋ฐ ์ค๋ณต์ ์ณ๋ด๋ ๊ธฐ๋ฅ๋ ์๋๋ณด๋ค ์๋ ค์ค์ ๊ณ ๋ง์