728x90
📌 문제
https://www.acmicpc.net/problem/1920
📌 문제 접근 방법
- 이진 탐색 적용해보기!
start랑 end범위 잡아주는 게 은근 헷갈린다..! 완전히 이해될 때까지 주말동안 문제 많이 풀어보기!!!!
📌 코드
import sys
def isin(A, B):
A.sort()
result = [0]*M
for i in range(M):
start = 0
end = N-1
while start <= end:
center = (start + end)//2
if B[i] < A[center]:
end = center-1
elif B[i] > A[center]:
start = center+1
else:
result[i] += 1
break
return result
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()))
result = isin(A, B)
for num in result:
print(num)
728x90
'ALGORITHM > BAEKJOON' 카테고리의 다른 글
[BOJ/Python] 1541. 잃어버린 괄호 (0) | 2021.08.28 |
---|---|
[BOJ/Python] 2805. 나무 자르기 (0) | 2021.08.28 |
[BOJ/Python] 10989. 수 정렬하기 3 (0) | 2021.08.18 |
[BOJ/Python] 2750. 수 정렬하기 (0) | 2021.08.18 |
[BOJ/Python] 17413. 단어 뒤집기 2 (0) | 2021.08.16 |
댓글