하루기록

220719

매우빠른거부기 2022. 7. 19. 16:24

이분탐색

N = int(input())
A = list(map(int, input().split()))
M = int(input())
arr = list(map(int, input().split()))
A.sort()			# A 정렬

# arr의 각 원소별로 이분탐색
for num in arr:
    sp, lp = 0, N-1
    isEx = False
    
    while sp <= lp:
        mid = (sp+lp)//2
        if num == A[mid]:
            isEx = True
            print(1)
            break
        else:
            if num > A[mid]:
                sp = mid + 1
            else:
                lp = mid - 1
    if not isEx:
        print(0)

 

try Except

from collections import Counter
    
# 입력
N = int(input())
arr = list(map(int, input().split()))
M = int(input())
find = list(map(int, input().split()))
arr.sort()

dic = dict()

for i in arr:
    try :
        dic[i] += 1
    except:
        dic[i] = 1

for i in find:
    try:
        print(dic[i] , end = " ")
    except:
        print(0, end=" ")