(SW 문제해결 응용 구현 - 분할 정복) SWEA 5207 - 이진 탐색
31 Aug 2019 | Algorithm SWEA문제
- SWEA 5207 - [파이썬 S/W 문제해결 구현 4일차] 분할 정복 - 이진 탐색
- 문제링크
- 문제의 저작권은 SW Expert Academy에 있습니다.
나의 코드
TC = int(input())
for tc in range(1, TC+1):
N, M = map(int, input().split())
N1 = sorted(list(map(int,input().split())))
M1 = list(map(int, input().split()))
cnt = 0
for num in M1:
start = 0
end = N-1
flag = 0
while start <= end:
mid = (start + end) // 2
if num >= N1[mid]:
if num == N1[mid]:
cnt += 1
break
start = mid + 1
if flag == 1: break
flag = 1
elif num < N1[mid]:
end = mid - 1
if flag == -1: break
flag = -1
print('#%d %d'%(tc, cnt))
Comments