cafemug   7년 전

n=int(input())
a=input().split()
m=int(input())
b=input().split()
a=list(map(int,a))
b=list(map(int,b))

for i in range(m):
       count=0
       for j in range(n):
              if b[i]==a[j]:
                     print(1)
              else:
                     count+=1
              
       if count==n:
              print(0)  


위에 꺼가 시간초과 떠서 밑에걸로 다시 만들었는데


n=int(input())
a=input().split()
m=int(input())
b=input().split()

for i in range(m):
    x=a.count(b[i])
    if x==0:
        print(0)
    else:
        print(1)


이것도 뜨고 왜 시간초과가 나는지 알려주시면 감사하겠습니다

allkanet72   7년 전

바이너리 서치(이분 검색)으로 만드셔야 합니다. 

단순 비교로 찾으려면 최대 10만번 비교해야하는데 시간 초과 날수밖에없죠

댓글을 작성하려면 로그인해야 합니다.