728x90
https://www.acmicpc.net/problem/10815
문제 풀이
기본적인 이분 탐색 문제이다.
값을 입력받고 출력만 잘하면 된다.
느낀 점
파이썬이 아니였다면 입력 값의 범위 때문에 다소 어려웠을 것 같다.
파이썬 최고다...
코드
from sys import stdin
def binary(arr, left, right, key):
while left <= right:
mid = int((left + right) / 2)
if key > arr[mid]: left = mid + 1
elif key < arr[mid]: right = mid - 1
else: return 1
return 0
n = int(stdin.readline())
N = sorted(map(int, stdin.readline().split()))
m = int(stdin.readline())
M = map(int, stdin.readline().split())
for i in M:
print(binary(N, 0, n-1, i), end=' ')
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[Python] 백준 2559번 : 수열 (0) | 2022.06.24 |
---|---|
[Python] 백준 11659번 : 구간 합 구하기 4 (0) | 2022.06.24 |
[Python] 백준 2108번 : 통계학 (0) | 2022.06.21 |
[Python] 백준 14501번 : 퇴사 (0) | 2022.06.21 |
[Python] 백준 1026번 : 보물 (0) | 2022.06.18 |
댓글