์ƒˆ์†Œ์‹

๐Ÿงฎ PS

๋ฐฑ์ค€ (boj) 10815 ํŒŒ์ด์ฌ - ์ˆซ์ž ์นด๋“œ

  • -

https://www.acmicpc.net/problem/10815

 

10815๋ฒˆ: ์ˆซ์ž ์นด๋“œ

์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” -10,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘ ์ˆซ์ž ์นด๋“œ์— ๊ฐ™์€ ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ์…‹์งธ ์ค„์—๋Š” M(1 ≤ M ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋„ท์งธ ์ค„์—๋Š” ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•ด์•ผ ํ•  M๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด

www.acmicpc.net

 

์‹œ๊ฐ„์ดˆ๊ณผ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. 

์ด๋Ÿฐ ๋ฌธ์ œ์ฒ˜๋Ÿผ ์ˆœ์„œ์™€ ์ค‘๋ณต์— ๋Œ€ํ•œ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„๋•Œ๋Š” list๋ณด๋‹ค๋Š” set์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค.

if num in arr : print(x)

์˜ˆ๋ฅผ๋“ค๋ฉด ์œ„ ์ฝ”๋“œ์ฒ˜๋Ÿผ, ์–ด๋–ค ์ง‘ํ•ฉ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ• ๋•Œ? ๋ฆฌ์ŠคํŠธ๋Š” ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ n๊นŒ์ง€ ์ผ์ผ์ด ๊ฒ€์‚ฌ๋ฅผ ํ•ด์•ผํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n) ์ด๊ณ , set์€ O(1)์ด๋ผ๊ณ  ํ•œ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ๋„ list๋ฅผ ๋‹จ์ง€ set์œผ๋กœ ๋ฐ”๊พธ์—ˆ์„ ๋ฟ์ธ๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ๋ถ€ํ„ฐ ํ•ด๋ฐฉ๋ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

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=' ')
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.