https://www.acmicpc.net/problem/1920
๐ ๋ฌธ์
N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ ธ ์์ ๋, ์ด ์์ X๋ผ๋ ์ ์๊ฐ ์กด์ฌํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐ ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ์ค์๋ M๊ฐ์ ์๋ค์ด ์ฃผ์ด์ง๋๋ฐ, ์ด ์๋ค์ด A์์ ์กด์ฌํ๋์ง ์์๋ด๋ฉด ๋๋ค. ๋ชจ๋ ์ ์์ ๋ฒ์๋ -231 ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ 231๋ณด๋ค ์๋ค.
๐ ์ถ๋ ฅ
M๊ฐ์ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ์กด์ฌํ๋ฉด 1์, ์กด์ฌํ์ง ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค.
๐ ํ์ด ๋ฐฉ์
์ด ๋ฌธ์ ์ ๊ฐ์ฅ ํค ํฌ์ธํธ๋ ์ ์์ ๋ฒ์๊ฐ ํฐ๋ฐ ์๊ฐ ์ ํ์ด 1์ด ๋ผ๋ ๊ฒ์ธ๋ฐ์ !!
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ๋ฆฌ์คํธ ์กฐํ ๋ฐฉ์(O(N))์ผ๋ก ํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋๊ฒ ๋ฉ๋๋ค
(์ ๋ ์ฒ์์ ๋ฆฌ์คํธ์์ in ์ฐ์ฐ์ ์ฌ์ฉํ๋๋ฐ ๋ฐ๋ก ์๊ฐ์ด๊ณผ๊ฐ ๋๋๋ผ๊ตฌ์ ใ ใ )
์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ์ ํด์๋ฅผ ์ฌ์ฉํ ์งํฉ๊ณผ ๋งต ์ด ์๋ ๊ฑธ ํ์ธํ๊ณ ๋์ ๋๋ฆฌ๋ฅผ ํ์ฉํด ํ๊ท O(1) ์๊ฐ ๋ณต์ก๋๋ก ๋ฌธ์ ๋ฅผ ํ์์ต๋๋ค!!
๐ ์ฝ๋
import sys
input = sys.stdin.readline
N = int(input())
numbers = dict.fromkeys(map(int, input().split()), True)
M = int(input())
munmbers = list(map(int, input().split()))
for mumber in munmbers:
print(int(mumber in numbers))
โ
dict.fromkeys(iterable, value)๋ฅผ ํ์ฉํ๋ฉด ํค๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๊ณ ,
โ
in ์ฐ์ฐ์ ์ฌ์ฉํด๋ O(1) ํ๊ท ๋ณต์ก๋๋ก ๋น ๋ฅด๊ฒ ํ์ธํ ์ ์์ต๋๋ค!
'๐ฉ๐ปโ๐ป ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1699๋ฒ ์ ๊ณฑ์์ ํฉ (0) | 2025.02.13 |
---|---|
[๋ฐฑ์ค] 31964๋ฒ ๋ฐํ ํ์ (Python) (0) | 2025.02.12 |
[๋ฐฑ์ค] 1965๋ฒ ์์๋ฃ๊ธฐ (Python) (0) | 2024.11.27 |
[๋ฐฑ์ค] 1912๋ฒ ์ฐ์ํฉ (Python) (1) | 2024.11.15 |
[๋ฐฑ์ค] 11727๋ฒ 2xn ํ์ผ๋ง 2 (Python) (0) | 2024.10.11 |