
https://www.acmicpc.net/problem/1920
이 문제는 수가 존재하는지 판별하는 문제로, 얼핏 보기에는 list를 둗개 만들어서 존재하는가를 확인하면 될것같아 보인다.
import sys
n=int(input())
slist=list(map(int,sys.stdin.readline().split()))
m=int(input())
nlist=list(map(int,sys.stdin.readline().split()))
for i in nlist:
if i in slist:
print(1)
else:
print(0)
그래서 이렇게 list를 만들어준 뒤 in이라는 keyword를 사용해 존재하는가 여부를 물어보는 작업을 해봤다.
여기서 import sys를 통해 sys 모듈을 이용하고
sys.stdin.readline().split()을 통해 조금 더 빠르게 input을 받아올 수 있게 되었다.
하지만 이럼에도 불구하고 시간초과 문제가 발생하였다.
이에 나는,,, 결국 인터넷을 찾아봤고, 새로운 set이라는 개념을 알게되었다.

출처 : 점프투파이썬
set을 이용하면 list를 이용할 때보다 탐색 시간이 줄어든다고 한다. (신기하당)
import sys
n=int(input())
slist=set(map(int,sys.stdin.readline().split()))
m=int(input())
nlist=list(map(int,sys.stdin.readline().split()))
for i in nlist:
if i in slist:
print(1)
else:
print(0)
set은 위대하다,,,!
OS 공부하다가 백준푸니까 너무 재밌었는데,,,
역시 시험기간은 위대하다 ,,!