[알고리즘] 백준 - 1920 (수 찾기) / 파이썬

배고픈메꾸리·2021년 8월 4일
0

알고리즘

목록 보기
106/128
import sys
input = sys.stdin.readline

N = int(input())
li = set(input().split())
M = int(input())

answer = ''
for num in input().split():
    answer += "1\n" if num in li else "0\n"

print(answer)

#----------------
#다른 풀이
#----------------


import sys

def solution():
    N = int(sys.stdin.readline().rstrip())
    li = list(map(int,sys.stdin.readline().rstrip().split(" ")))

    M = int(sys.stdin.readline().rstrip())
    li2 = list(map(int,sys.stdin.readline().rstrip().split(" ")))

    answer = ''
    li.sort()
    for i in range(M):
        answer += search(li,0,N-1, li2[i])

    return answer

def search(array ,start ,end , answer):
    while start <= end :
        pivot = (start+end) // 2
        if(array[pivot] == answer):
            return '1\n'
        elif(array[pivot] > answer):
            end = pivot-1
        elif(array[pivot] < answer):
            start = pivot+1
    return '0\n'



print(solution())

profile
FE 개발자가 되자

0개의 댓글