[JavaScript/section 7] 10 - ์ด๋ถ„ ๊ฒ€์ƒ‰
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 10 - ์ด๋ถ„ ๊ฒ€์ƒ‰ ์ž„์˜์˜ N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. N๊ฐœ์˜ ์ˆ˜๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋‹ค์Œ N๊ฐœ์˜ ์ˆ˜์ค‘ ํ•œ ๊ฐœ์˜ ์ˆ˜์ธ target์ด ์ฃผ์–ด์ง€๋ฉด ์ด๋ถ„ ๊ฒ€์ƒ‰์œผ๋กœ target์ด ์ •๋ ฌ๋œ ์ƒํƒœ์—์„œ ๋ช‡ ๋ฒˆ์งธ์— ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‹จ, ์ค‘๋ณต๊ฐ’์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ถ„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€โ“ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ํŠน์ •ํ•œ ๊ฐ’์˜ ์œ„์น˜๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ด๋ถ„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(logN)์œผ๋กœ ์ˆœ์ฐจ ๊ฒ€์ƒ‰์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ O(N)์— ๋น„ํ•˜๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ๋น ๋ฅธ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์†ํ•œ๋‹ค. ๋‹ค์Œ ํ’€์ด ๋ฐฉ๋ฒ•์„ ๋ณด๋ฉด ๊ทธ ์ด์œ ๋ฅผ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ• ๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ๋‹ค. ์ด๋ถ„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค. ๋ฐฐ์—ด์˜ ์ฒ˜์Œ(start)๊ณผ ๋(end)์˜ ์ธ๋ฑ์Šค๋ฅผ ๋”ํ•œ ํ›„ 2๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„ ์ธ๋ฑ์Šค(mid)..
_์„ฑํ˜ธ_
'์ด๋ถ„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก