역시나 적시나 시간초과의 확률이 높은 문제였다.
나는 숫자로 변환하지 않고 문자열 그대로 받아서
set으로 만들어 교집합을 얻고
m_list에서 하나씩 꺼내어 교집합에 있는지 비교하였다.
(사실 질문게시판에서 힌트를 얻었다 여기에서 set을 사용하다니!
set은 진짜 생각지도 못할때 늘 등장한다 눈 여겨보기!)
a_list를 계속 비교하는 것이 아니라,
교집합 리스트에서 비교하는게 시간복잡도를 줄이는데
아주 중요한 포인트였다!
import sys
n = int(sys.stdin.readline().rstrip('\n'))
a_list = list(sys.stdin.readline().rstrip('\n').split())
m = int(sys.stdin.readline().rstrip('\n'))
m_list = list(sys.stdin.readline().rstrip('\n').split())
set_a = set(a_list)
set_m = set(m_list)
set_a_m = set_a & set_m
for i in m_list:
if i in set_a_m:
print(1)
else:print(0)