2022 하반기/Python
백준 10815 python
concho
2023. 2. 17. 15:00
https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
import sys
# 첫 번째 줄에서 카드의 개수를 입력받음
n = int(sys.stdin.readline().rstrip())
# 두 번째 줄에서 카드에 적힌 숫자를 입력받아 set 자료형으로 만듦
card = set(map(int, sys.stdin.readline().rstrip().split()))
# 세 번째 줄에서 찾아야 하는 숫자의 개수를 입력받음
m = int(sys.stdin.readline().rstrip())
# 네 번째 줄에서 찾아야 하는 숫자를 입력받아 list 자료형으로 만듦
num = list(map(int, sys.stdin.readline().rstrip().split()))
# 카드와 찾아야 하는 숫자의 교집합을 구함
intersection = card.intersection(num)
# 찾아야 하는 숫자 리스트에서 교집합에 포함된 원소는 1로, 아니면 0으로 표시
result = [1 if x in intersection else 0 for x in num]
# 리스트의 각 원소를 문자열로 변환하여 출력
print(' '.join(map(str, result)))