๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
[๋ฐฑ์ค] [Python] 1920๋ฒ_์ ์ฐพ๊ธฐ
Dbswnstjd
2022. 3. 19. 19:51
https://www.acmicpc.net/problem/1920
1920๋ฒ: ์ ์ฐพ๊ธฐ
์ฒซ์งธ ์ค์ ์์ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M๊ฐ์ ์๋ค์ด ์ฃผ์ด์ง๋๋ฐ, ์ด ์๋ค
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 1920๋ฒ ๋ฌธ์ - ์ ์ฐพ๊ธฐ
def binary_search(element, some_list, start = 0, end=None):
if end == None:
end = len(some_list) - 1
if start > end:
return 0
mid = (start + end) // 2
if element == some_list[mid]:
return 1
elif element < some_list[mid]:
end = mid - 1
elif element > some_list[mid]:
start = mid + 1
return binary_search(element, some_list, start, end)
n = int(input())
n_list = list(map(int, input().split(' ')))
n_list.sort()
m = int(input())
m_list = list(map(int, input().split(' ')))
for i in range(len(m_list)):
print(binary_search(m_list[i], n_list))
์ด์ง ํ์์ ํตํด ๋ฌธ์ ํด๊ฒฐ
n ์ ๋ฒ์๊ฐ 100,000 ์ด๊ธฐ ๋๋ฌธ์ in ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ๊ฒ ๋๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋๊ฒ ๋๋ค.