정구리의 우주정복
[BOJ] 1920번 - 수 찾기 파이썬 이진 탐색,set 본문
반응형
https://www.acmicpc.net/problem/1920
1. 이진 탐색으로 해결한 방법
def binary_search(array,target,start,end):
while start <= end:
mid = (start+end)//2
if array[mid] == target:
return mid
elif array[mid] > target :
end = mid -1
else:
start = mid +1
return None
n = int(input())
array = list(map(int,input().split()))
array.sort()
m = int(input())
array_target = list(map(int,input().split()))
for x in array_target:
result = binary_search(array,x,0,n-1)
if result == None:
print('0')
else:
print('1')
2. set 을 사용해서 해결한 방법
n = int(input())
array = set(map(int,input().split()))
m = int(input())
array_target = list(map(int,input().split()))
for i in array_target:
if i in array:
print('1')
else:
print('0')
set 은 안에 있는지 확인할 때 유용하게 쓰인다 !
반응형
'ALGORITHM > SOLVE' 카테고리의 다른 글
[BOJ] 백준 2805번 - 나무 자르기 파이썬 이분탐색 (0) | 2020.09.08 |
---|---|
[BOJ] 백준 1654번 - 랜선 자르기 파이썬 이분탐색 (0) | 2020.09.08 |
[BOJ] 10989 번 - 수 정렬하기 3 파이썬 (0) | 2020.09.03 |
[BOJ] 백준 - 11399번 ATM 파이썬 풀이 (그리디) (0) | 2020.09.01 |
[BOJ] 백준 - 11047 동전 0 파이썬 (그리디) (0) | 2020.08.30 |
Comments