티스토리 뷰
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개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다.
www.acmicpc.net
import sys
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)
result = []
def binarySerach(A, x, low, high):
if low > high:
return 0
else:
mid = (low+high) // 2
if x == A[mid]:
return 1
elif x < A[mid]:
return (binarySerach(A, x, low, mid -1))
else:
return(binarySerach(A, x, mid+1, high))
for i in range(M):
print(binarySerach(A, B[i], 0, N-1))
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 2750 : 수 정렬하기 - Python (0) | 2020.04.14 |
---|---|
[백준] 1436 : 영화감독 숌 - Python (0) | 2020.04.14 |
[백준] 7568 : 덩치 - Python (0) | 2020.04.08 |
[백준] 10250 : ACM 호텔 - Python (0) | 2020.04.07 |
[백준] 2839 : 설탕 배달 - Python (0) | 2020.04.07 |