[Python] BOJ 1920 - 수 찾기(Binary Search)
728x90
반응형
https://www.acmicpc.net/problem/1920
분류에 이분 탐색이라 되어 있어서 열심히 이분 탐색을 공부해서 풀었다.
import sys
input = sys.stdin.readline
n = int(input())
L = list(map(int, input().split()))
m = int(input())
mL = list(map(int, input().split()))
L.sort()
def binarySearch(a, key):
low = 0
high = len(a) - 1
while low <= high:
mid = (low + high) // 2
if a[mid] > key:
high = mid - 1
elif a[mid] < key:
low = mid + 1
else:
return 1
return 0
for i in mL:
print(binarySearch(L, i))
맞은 사람들코드가 150B내외인데 나는 450정도가 나와서 뭐지 하고 봤는데, 그냥 set을 사용해 바로 풀어버리면 되는 문제였다.
(현타 오네;)
n, L, m = input(), set(input().split()), input()
for i in input().split():
if(i in L):
print(1)
else:
print(0)
728x90
반응형
'문제풀이 > BaekjoonOnlineJudge' 카테고리의 다른 글
[Python] BOJ 5430 - AC(deque) (0) | 2020.02.12 |
---|---|
[Python] BOJ 1966 - 프린터 큐(Queue) (0) | 2020.02.11 |
[Python] BOJ 1158 - 요세푸스 문제(Circular Linked List) (0) | 2020.02.11 |
[Python] BOJ 1406 - 에디터(Doubly Linked List) (0) | 2020.02.08 |
[Python] BOJ 1929 - 소수 구하기(에라토스테네스의 체) (0) | 2020.01.15 |
TAGS.