10815번

김범주·2022년 7월 15일
0

백준 파이썬

목록 보기
16/29
post-thumbnail
import sys
input = sys.stdin.readline

N = int(input())
card = set(map(int, input().split()))
M = int(input())
check = list(map(int, input().split()))
ans = []

checked = []
for i in check:
  if i not in checked:
    if i in card:
      ans.append(1)
      checked.append(i)
    elif i not in card:
      ans.append(0)
      checked.append(i)
  elif i in checked:
    continue    
 
for i in range(len(ans)): 
  print(ans[i], end= ' ')   

작동은 잘 되지만 시간 초과가 떠서 실패

정답

import sys
input = sys.stdin.readline

N = int(input())
card = list(map(int, input().split()))
M = int(input())
check = list(map(int, input().split()))

checked = {}
for i in range(len(card)):
  checked[card[i]] = 0

for i in range(M):
  if check[i] not in checked:
    print(0, end=' ')
  else:
    print(1, end=' ')  

리스트 대신 딕셔너리를 활용해서 시간을 줄여서 통과

profile
개발꿈나무

0개의 댓글