algorithm
[Algorithm] ์ด์ง ํ์ | Binary Search
1. ์์ฐจ ํ์ : ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ์ ๋ฐฉ๋ฒ - ๋ฆฌ์คํธ ์์ ์๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ์์์๋ถํฐ ํ๋์ฉ ํ์ธ - ์ ๋ ฌ๋์ง ์์ ๋ฆฌ์คํธ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋ ์ฌ์ฉ - ํ์ด์ฌ์ count() ๋ฉ์๋ ๋ด๋ถ์์ ์์ฐจ ํ์์ด ์ฌ์ฉ๋๋ค. ๐ ์๊ฐ ๋ณต์ก๋: O(n) # target = ์ฐพ๊ณ ์ํ๋ ์์ def search(n, target, array): for i in range(n): # ํ์ฌ์ ์์๊ฐ target๊ณผ ๋์ผํ๋ฉด if array[i] == target: return i # ํ์ฌ์ ์์น ์ธ๋ฑ์ค ๋ฐํ 2. ์ด์ง ํ์(์ด๋ถ ํ์) : ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ๋๋๋ฉฐ ํ์ํ๋ ๋ฐฉ๋ฒ - ๋ฐฐ์ด ๋ด๋ถ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ด์ผ ์ฌ์ฉ์ด ๊ฐ๋ฅ - ๋ณ์ 3๊ฐ ํ์: ์์์ , ๋์ , ์ค๊ฐ์ - ์ค๊ฐ์ ์ด ์ค์ ์ผ ๋๋ ์์์ ์ดํ..