[2023-02-17 ๐Ÿซ€ TIL ]

Burkeyยท2023๋…„ 2์›” 17์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
34/157

์˜ค๋Š˜์€ ๋ฐฑ์ค€ 10815๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ์ด์ง„ ํƒ์ƒ‰ํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋ชฐ๋ž์ง€๋งŒ ์ด์ง„ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€๋ฉด ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ 
์ด๋ฅผ ์ฝ”๋“œ์— ์ ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

import sys

input = sys.stdin.readline

N = int(input())
N_nums = list(map(int, input().split()))
M = int(input())
M_nums = list(map(int, input().split()))

N_nums.sort()

for m in M_nums:
    left, right = 0, N - 1
    check = False

    while left <= right:
        # print(left, right, m)
        mid = (left + right) // 2
        if N_nums[mid] > m:  # ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค m์ด ์ž‘์„ ๋•Œ (์™ผ์ชฝ์œผ๋กœ ์ด๋™)
            right = mid - 1
        elif N_nums[mid] < m:  # ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค m์ด ํด ๋•Œ (์˜ค๋ฅธ์ชฝ)
            left = mid + 1
        else:  # ๊ฐ™์€ ๊ฐ’์„ ๋ฐœ๊ฒฌํ–ˆ์„ ๋–„
            check = True
            break
    print(1 if check else 0, end=' ')
 

์˜ค๋Š˜ ๋ฌธ์ œ๋กœ ์ด์ง„ํƒ์ƒ‰์˜ ์‚ฌ๋ก€(?)๋ฅผ ์•Œ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€