[Python] BOJ 1920번. 수 찾기

1920번. 수 찾기

문제 링크

풀이 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 1920번. 수 찾기

n = int(input())
nList = list(map(int, input().split()))
m = int(input())
mList = list(map(int, input().split()))

# 이분 탐색을 위한 sort
nList.sort()

# 이분 탐색
for num in mList:
    left = 0
    right = n-1
    flag = False
    while left <= right:
        mid = int((left+right)/2)
        if nList[mid] > num:
            right = mid-1
            continue
        elif nList[mid] < num:
            left = mid+1
            continue
        else:
            # 존재하면 flag를 true로
            flag = True
            break
    if flag:
        print(1)
    else:
        print(0)

비고