๋ฌธ์
https://www.acmicpc.net/problem/10815
10815๋ฒ: ์ซ์ ์นด๋
์ฒซ์งธ ์ค์ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ ๊ฐ์ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์ซ์ ์นด๋์ ์ ํ์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ซ์ ์นด๋์ ์ ํ์๋ ์๋ -10,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10,
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 10815๋ฒ ๋ฌธ์ - ์ซ์ ์นด๋
import sys
input = sys.stdin.readline
n = int(input())
arr = set(map(int,input().split()))
m = int(input())
m_arr= list(map(int,input().split()))
for i in range(m):
if m_arr[i] in arr :
print(1,end=' ')
else : print(0,end=' ')
์ฒ์์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๋งค์ฐ ์ฌ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฐ๋ฐ ์ ๋ ฅ๊ฐ์ด ๋งค์ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณต์ก๋๋ฅผ ์๊ฐํด์ผ ํ๋ค.
๋ฆฌ์คํธ ํ์์ ์๊ฐ ๋ณต์ก๋๋ O(n)์ด์ง๋ง Set์ ์ฌ์ฉํ๋ฉด O(1) ์ด๋ฏ๋ก Set ์๋ฃํ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋จ์ง ์๋๋ค.
๋ํ ์ด๋ถํ์์ผ๋ก๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์๋ค.
# ์ด๋ถํ์
import sys
n = int(input())
card = list(map(int, sys.stdin.readline().split()))
m = int(input())
check = list(map(int, sys.stdin.readline().split()))
card.sort()
def binary_search(array, target, start, end):
while start <= end:
mid = (start + end) // 2
if array[mid] == target:
return mid
elif array[mid] > target:
end = mid - 1
else:
start = mid + 1
return None
for i in range(m):
if binary_search(card, check[i], 0, n - 1) is not None:
print(1, end=' ')
else:
print(0, end=' ')
'๐๏ธ Algorithm > ๐ฉ ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฉ [๋ฐฑ์ค] [Python] [Class3] 1927๋ฒ_์ต์ ํ (0) | 2022.11.04 |
---|---|
๐ฉ [๋ฐฑ์ค] [Python] [๊ตฌํ] 1780๋ฒ_์ข ์ด์ ๊ฐ์ (0) | 2022.11.04 |
๐ฉ [๋ฐฑ์ค] [Python] [๊ตฌํ] 1010๋ฒ_๋ค๋ฆฌ ๋๊ธฐ (0) | 2022.11.03 |
๐ฉ [๋ฐฑ์ค] [Python] [๊ตฌํ] 14916๋ฒ_๊ฑฐ์ค๋ฆ ๋_ (0) | 2022.11.03 |
๐ฉ [๋ฐฑ์ค] [Python] Class3_17626๋ฒ_Four Squares (0) | 2022.11.03 |