문제 : https://www.acmicpc.net/problem/1920
▶ 코드
import sys
# arr배열의 원소가 숫자일때만 가능
def BinarySearch(arr, val, low, high):
if low > high:
return False
mid = (low + high) // 2
if val < arr[mid]:
return BinarySearch(arr, val, low, mid-1)
elif val > arr[mid]:
return BinarySearch(arr, val, mid+1, high)
else:
return True
if __name__ == "__main__":
N = int(sys.stdin.readline())
A = list(map(int, sys.stdin.readline().split()))
M = int(sys.stdin.readline())
B = list(map(int, sys.stdin.readline().split()))
A = sorted(A) # 매개변수로 들어갈 배열이 미리 정렬 되어있어야됨
for b in B:
if BinarySearch(A, b, 0, N-1): # 배열, 찾으려는 원소, start, end
print(1)
else:
print(0)
'■코테 중요개념 > 이분 탐색' 카테고리의 다른 글
[백준 10816] 숫자 카드 2 (0) | 2020.05.18 |
---|---|
[백준 1654] 랜선 자르기 (0) | 2020.05.18 |
[백준 10815] 숫자 카드 (0) | 2020.05.17 |
[백준 1620] 나는야 포켓몬 마스터 이다솜 (0) | 2020.05.17 |