๐กsolutions )
๐ฌ ๋์ ๋๋ฆฌ ์๋ฃํ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ
๐ฌ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์นด๋ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ง๊ณ ๋์ ๋๋ฆฌ ํํ๋ก ๋ง๋ ๋ค. key๋ฅผ ์นด๋ ๋ฒํธ, value์ ๋ช์ฅ์ธ์ง ๊ฐ์ ์ ์ฅ
๐ฌ ์ฃผ์ด์ง m๊ฐ์ ์นด๋ ๋ฆฌ์คํธ๋ก for ๋ฐ๋ณต๋ฌธ์ ๋๋ฉฐ ์์์ ๋ง๋ ๋์ ๋๋ฆฌ key๊ฐ์ผ๋ก ์กด์ฌํ๋์ง ํ์ธ ํ ์กด์ฌํ๋ฉด ํด๋น value๊ฐ์ answer ๋ฆฌ์คํธ์ ์ ์ฅํ์ฌ ๋ง์ง๋ง์ ์ถ๋ ฅํ๋ค.
๐จ๐ปcode )
import sys
input = sys.stdin.readline
n = int(input())
n_list = sorted(list(map(int, input().split())))
m = int(input())
m_list = list(map(int, input().split()))
n_dict = {}
for i in n_list:
if i not in n_dict:
n_dict[i] = 1
else:
n_dict[i] += 1
answer = []
for i in m_list:
if i in n_dict:
answer.append(n_dict[i])
else:
answer.append(0)
print(*answer)
๐description )
๋ฌธ์
์ซ์ ์นด๋๋ ์ ์ ํ๋๊ฐ ์ ํ์ ธ ์๋ ์นด๋์ด๋ค. ์๊ทผ์ด๋ ์ซ์ ์นด๋ 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์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1 ๋ณต์ฌ
5 6 3 2 10 -10 8 10 9 -5 2 3 4 5 -10
์์ ์ถ๋ ฅ 1 ๋ณต์ฌ
1 0 0 1 1 0 0 1
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 20055๋ฒ / ์ปจ๋ฒ ์ด์ด ๋ฒจํธ ์์ ๋ก๋ด / ํ์ด์ฌ / Python (0) | 2021.10.23 |
---|---|
[๋ฐฑ์ค] 1244๋ฒ / ์ค์์น ์ผ๊ณ ๋๊ธฐ / ํ์ด์ฌ / python (0) | 2021.10.14 |
[๋ฐฑ์ค] 2979๋ฒ / ํธ๋ญ ์ฃผ์ฐจ / ํ์ด์ฌ / Python (0) | 2021.10.07 |
[๋ฐฑ์ค] 1173๋ฒ / ์ด๋ / ํ์ด์ฌ / Python (0) | 2021.10.06 |
[๋ฐฑ์ค] ์๊ณ ์คํ / 1261๋ฒ / ํ์ด์ฌ / Python / Dijkstra ์๊ณ ๋ฆฌ์ฆ (0) | 2020.12.06 |