백준 2776번 바로가기
풀이 1#
for _ in range(int(input())):
_ = int(input())
note1 = set(map(int, input().split()))
_ = int(input())
for i in map(int, input().split()):
if i in note1:
print(1)
else:
print(0)
풀이 2#
def binary_search(data, target):
data.sort()
start = 0
end = len(data) - 1
while start <= end:
mid = (start+end)//2
if data[mid] == target:
return 1
elif data[mid] < target:
start = mid + 1
else:
end = mid - 1
return 0
for _ in range(int(input())):
_ = int(input())
note1 = list(map(int, input().split()))
_ = int(input())
note2 = list(map(int, input().split()))
for i in note2:
print(binary_search(note1, i))
CODE REVIEW#
- 처음에는 단순히 input을 받고
in
으로 확인해서 쉽게 풀어냈다. 그런데 이분 탐색
에 속한 문제이니만큼 이분 탐색을 활용해서 풀어보기로 했다.
- 아직 이분 탐색을 구현하는게 익숙하진 않은데, 자주 보면서 익숙하도록 숙련해야겠다.