🐍 파이썬 μƒμ΄ˆμ§œ

[BOJ][Python] λ°±μ€€ 10815번: 숫자 μΉ΄λ“œ

선달 2024. 10. 22. 16:53
λ°˜μ‘ν˜•

문제

숫자 μΉ΄λ“œλŠ” μ •μˆ˜ ν•˜λ‚˜κ°€ μ ν˜€μ Έ μžˆλŠ” μΉ΄λ“œμ΄λ‹€. μƒκ·Όμ΄λŠ” 숫자 μΉ΄λ“œ N개λ₯Ό 가지고 μžˆλ‹€. μ •μˆ˜ Mκ°œκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 이 μˆ˜κ°€ μ ν˜€μžˆλŠ” 숫자 μΉ΄λ“œλ₯Ό 상근이가 가지고 μžˆλŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 상근이가 가지고 μžˆλŠ” 숫자 μΉ΄λ“œμ˜ 개수 N(1 ≤ N ≤ 500,000)이 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μ •μˆ˜κ°€ 주어진닀. 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μˆ˜λŠ” -10,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 10,000,000보닀 μž‘κ±°λ‚˜ κ°™λ‹€. 두 숫자 μΉ΄λ“œμ— 같은 μˆ˜κ°€ μ ν˜€μžˆλŠ” κ²½μš°λŠ” μ—†λ‹€.
μ…‹μ§Έ μ€„μ—λŠ” M(1 ≤ M ≤ 500,000)이 주어진닀. λ„·μ§Έ μ€„μ—λŠ” 상근이가 가지고 μžˆλŠ” 숫자 μΉ΄λ“œμΈμ§€ μ•„λ‹Œμ§€λ₯Ό ꡬ해야 ν•  M개의 μ •μˆ˜κ°€ 주어지며, 이 μˆ˜λŠ” 곡백으둜 κ΅¬λΆ„λ˜μ–΄μ Έ μžˆλ‹€. 이 μˆ˜λ„ -10,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 10,000,000보닀 μž‘κ±°λ‚˜ κ°™λ‹€

좜λ ₯

첫째 쀄에 μž…λ ₯으둜 주어진 M개의 μˆ˜μ— λŒ€ν•΄μ„œ, 각 μˆ˜κ°€ 적힌 숫자 μΉ΄λ“œλ₯Ό μƒκ·Όμ΄κ°€ 가지고 있으면 1을, μ•„λ‹ˆλ©΄ 0을 곡백으둜 ꡬ뢄해 좜λ ₯ν•œλ‹€.

 

풀이

n = int(input())
cards = set(map(int, input().split()))

m = int(input())
inputs = list(map(int, input().split()))

answer = []
for i in inputs:
    print(1 if i in cards else 0, end=" ")
λ°˜μ‘ν˜•